Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Digdagを仕事で使ってみて良かったこと、ハマったこと / Using Digdag in ...
Search
Takehiro Shiozaki
June 07, 2017
Technology
1
2k
Digdagを仕事で使ってみて良かったこと、ハマったこと / Using Digdag in production environment
Takehiro Shiozaki
June 07, 2017
Tweet
Share
More Decks by Takehiro Shiozaki
See All by Takehiro Shiozaki
全部見せます! BigQueryのコスト削減の手法とその効果 / BigQuery Cost Reduction Methods
shiozaki
3
2.8k
タイムトラベルはじめました 〜時をかけるBigQuery〜 / Now serving Time Machine 〜BigQuery Which Leapt Through Time〜
shiozaki
0
4.7k
これからのZOZOを支える ログ収集基盤を設計した話 / Log collection infrastructure to support ZOZO in the future
shiozaki
6
13k
Amazon AuroraのデータをリアルタイムにGoogle BigQueryに連携してみた / Realtime data linkage from Amazon Aurora to Google BigQuery
shiozaki
10
14k
ZOZOTOWNの事業を支えるBigQueryの話 / BigQuery behind ZOZOTOWN
shiozaki
7
9.4k
ZOZOTOWNのDWHをRedshiftからBigQueryにお引越しした話 / Moving ZOZOTOWN DWH from Redshift to BigQuery
shiozaki
16
11k
ZOZOTOWNのバッチデータ転送基盤紹介 / ZOZOTOWN's data transfer batch
shiozaki
0
510
1日あたり数百万商品をクロールする 大規模クローラーの裏側 / How IQON crawler works
shiozaki
4
1.6k
ファッションIT業界あるある / fashion IT aruaru
shiozaki
1
770
Other Decks in Technology
See All in Technology
My small contributions - Fujiwara Tech Conference 2025
ijin
0
1.4k
CDKのコードレビューを楽にするパッケージcdk-mentorを作ってみた/cdk-mentor
tomoki10
0
210
2024AWSで個人的にアツかったアップデート
nagisa53
1
110
メールヘッダーを見てみよう
hinono
0
110
[IBM TechXchange Dojo]Watson Discoveryとwatsonx.aiでRAGを実現!事例のご紹介+座学②
siyuanzh09
0
110
AWS Community Builderのススメ - みんなもCommunity Builderに応募しよう! -
smt7174
0
180
0→1事業こそPMは営業すべし / pmconf #落選お披露目 / PM should do sales in zero to one
roki_n_
PRO
1
1.5k
機械学習を「社会実装」するということ 2025年版 / Social Implementation of Machine Learning 2025 Version
moepy_stats
5
1.1k
Kotlin Multiplatformのポテンシャル
recruitengineers
PRO
2
150
【NGK2025S】動物園(PINTO_model_zoo)に遊びに行こう
kazuhitotakahashi
0
240
AWSマルチアカウント統制環境のすゝめ / 20250115 Mitsutoshi Matsuo
shift_evolve
0
120
WantedlyでのKotlin Multiplatformの導入と課題 / Kotlin Multiplatform Implementation and Challenges at Wantedly
kubode
0
250
Featured
See All Featured
Adopting Sorbet at Scale
ufuk
74
9.2k
Producing Creativity
orderedlist
PRO
343
39k
Faster Mobile Websites
deanohume
305
30k
GraphQLの誤解/rethinking-graphql
sonatard
68
10k
For a Future-Friendly Web
brad_frost
176
9.5k
Measuring & Analyzing Core Web Vitals
bluesmoon
5
210
StorybookのUI Testing Handbookを読んだ
zakiyama
28
5.4k
Why Our Code Smells
bkeepers
PRO
335
57k
Mobile First: as difficult as doing things right
swwweet
222
9k
Six Lessons from altMBA
skipperchong
27
3.6k
Agile that works and the tools we love
rasmusluckow
328
21k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Transcript
%JHEBHΛࣄͰͬͯΈͯ ྑ͔ͬͨ͜ͱɺϋϚͬͨ͜ͱ 8PSLqPX&OHJOFT/JHIU VASILY,Inc. Ԙ㟒݈߂
Ԙ㟒݈߂ w ʹ7"4*-:ʹ৽ଔೖࣾ w ීஈͷ͓ࣄ3BJMTͰXFC"1*࡞ͬͨΓɺ4PMSͷϝϯςͨ͠Γ 5BCMFBV#JH2VFSZͰμογϡϘʔυ࡞ͬͨΓ w %JHEBHྺ·ͩिؒ͘Β͍ 7"4*-: *OD
TPGUXBSFFOHJOFFS
*20/ Ҏ্ͷϑΝογϣϯ&$αΠτ͔Β ྦྷܭ ສΛ͑ΔΛܝࡌ ݄ؒສਓҎ্͕ར༻͢Δຊ࠷େڃͷϑΝογϣϯαΠτ
w ͱ͋ΔҊ݅ͰΫϩʔϥʔΛ࡞Γ·ͨ͠ w αΠτͷใΛΫϩʔϧ͠ɺ ͦΕΒͷใΛϚʔδͨ͠ޙʹ4ʹอଘ ͲΜͳͷΛ࡞ͬͨͷ͔
%"(Ͱॻ͘ͱ͜Μͳײ͡ $SBXM $SBXM $SBXM/ .FSHF 6QMPBE ɾɾɾ
DSPOͰཧ͍ͯͨ͠ࠒ 0 0 * * * crawl-1 0 0 *
* * crawl-2 0 0 * * * crawl-N # crawl処理は30分以内に終わるはず 0 30 * * * merge # merge処理は10分以内に終わるはず 0 40 * * * upload
DSPOͰཧ͍ͯͨ͠ࠒ 0 0 * * * crawl-1 0 0 *
* * crawl-2 0 0 * * * crawl-N # crawl処理は30分以内に終わるはず 0 30 * * * merge # merge処理は10分以内に終わるはず 0 40 * * * upload ͠ɺҎʹऴΘΒͳ͔ͬͨΒʁ
DSPOͰཧ͍ͯͨ͠ࠒ 0 0 * * * crawl-1 0 0 *
* * crawl-2 0 0 * * * crawl-N # crawl処理は30分以内に終わるはず 0 30 * * * merge # merge処理は10分以内に終わるはず 0 40 * * * upload ͜ͷॲཧ͕ࣦഊͨ͠Βɺ ͜ΕҎ߱ͷॲཧετοϓ͢Δ͖ʁ
DSPOͰཧ͍ͯͨ͠ࠒ 0 0 * * * crawl-1 0 0 *
* * crawl-2 0 0 * * * crawl-N # crawl処理は30分以内に終わるはず 0 30 * * * merge # merge処理は10分以内に終わるはず 0 40 * * * upload ॲཧ͕ࣦഊͨ࣌͠ʹϦτϥΠ͍ͨ͠
DSPOͰཧ͍ͯͨ͠ࠒ 0 0 * * * crawl-1 0 0 *
* * crawl-2 0 0 * * * crawl-N # crawl処理は30分以内に終わるはず 0 30 * * * merge # merge処理は10分以内に終わるはず 0 40 * * * upload ্ྲྀͷॲཧ͕ϦτϥΠͨ࣌͠ʹɺ ॲཧͷ։࢝࣌ࠁΛΒ͍ͤͨ
DSPOͰཧ͍ͯͨ͠ࠒ 0 0 * * * crawl-1 0 0 *
* * crawl-2 0 0 * * * crawl-N # crawl処理は30分以内に終わるはず 0 30 * * * merge # merge処理は10分以内に終わるはず 0 40 * * * upload Τϥʔ͕ى͖ͨΒ௨͕ཉ͍͠
ͭΒ͍
w લड़ͨ͠ʮͭΒ͞ʯΛղফ͢ΔͨΊʹಋೖ w %JHEBHಋೖͷཧ༝ w ৴པͱ࣮ͷ5SFBTVSF%BUB044 w "JSqPX-VJHJͱൺΔͱઃఆ͕γϯϓϧ w Ϟάϥ͕νϟʔϛϯά
%JHEBHಋೖ
͔͜͜Βຊ %JHEBHΛಋೖͯ͠Α͔ͬͨ͜ͱ ˍ %JHEBHͷಋೖͰϋϚͬͨ͜ͱ
w "JSqPX-VJHJͱൺΔͱࣗ༝͕͍ ˢͦͦߴ͍ࣗ༝ෆཁ Α͔ͬͨ͜ͱઃఆϑΝΠϧ͕γϯϓϧ timezone: UTC +setup: echo>: start ${session_time}
+disp_current_date: echo>: ${moment(session_time).utc().format('YYYY-MM-DD HH:mm:ss Z')} +repeat: for_each>: order: [first, second, third] animal: [dog, cat] _do: echo>: ${order} ${animal} _parallel: true +teardown: echo>: finish ${session_time}
w %JHEBHαʔόʔʹ%PDLFS͚ͩΛΠϯετʔϧ w ΞϓϦέʔγϣϯͷ࣮ߦڥίϯςφʹด͡ࠐΊ w %JHEBHαʔόʔͷߏ͕γϯϓϧʹͳΔ Α͔ͬͨ͜ͱ%PDLFSαϙʔτ
w /tmp/digdag-tempdir* ͕λεΫຖʹੜ͞ΕΔ w ଞͷλεΫ͔ΒͷӨڹΛ࠷খԽͰ͖Δ w ˞%JHEBHTFSWFSݶఆ Α͔ͬͨ͜ͱҰ࣌σΟϨΫτϦͰλεΫΛ࣮ߦ
w QZΦϖϨʔλʔQZUIPOίϚϯυΛݺͼग़͢ w 6CVOUVͰQZUIPOίϚϯυͰ1ZUIPO͕ɺ QZUIPOίϚϯυͰ1ZUIPO͕࣮ߦ͞ΕΔ w ͍͔ͨͬͨͷ1ZUIPOͷํ w ղܾࡦ w
1ZUIPOͷ%PDLFSΠϝʔδΛ༻ ϋϚͬͨ͜ͱ1ZUIPOͷόʔδϣϯ
w ղܾࡦ w 4ʹҰ࣌ϑΝΠϧΛஔ͍ͯड͚͠Λ͢Δ ϋϚͬͨ͜ͱҰ࣌ϑΝΠϧͷड͚͠ _export: docker: image: python:3.6.1 +crawl:
_parallel: true +crawl1: sh>: crawl.sh > temp_result_1.json +crawl2: sh>: crawl.sh > temp_result_2.json +merge: sh>: merge.sh temp_result1.json temp_result2.json &3303 ϑΝΠϧ͕ݟ͔ͭΒͳ͍
w υΩϡϝϯτʹॻ͔Ε͍ͯͳ͍ػೳ͕͋ͬͨΓ w TFSWFSϞʔυͱTDIFEVMFSϞʔυͷ͍͚ͷج४ w ϓϥάΠϯϚωʔδϟ embulk gemతͳ ͜Ε͔Βʹظ
w %JHEBHศར w DSPOӡ༻ͷʮͭΒ͞ʯΛղফͯ͘͠ΕΔϞάϥ w ·ͩࢼͨ͜͠ͱ͕ͳ͍ਓɺҎԼͷίϚϯυΛ࣮ߦͯ͠Πϯετʔϧ • $ curl -o
~/bin/digdag --create-dirs \ -L "https://dl.digdag.io/digdag-latest" $ chmod +x ~/bin/digdag $ echo 'export PATH="$HOME/bin:$PATH"' >> ~/.bashrc ·ͱΊ