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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Takehiro Shiozaki
June 07, 2017
Technology
1
2.1k
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
6
4k
タイムトラベルはじめました 〜時をかけるBigQuery〜 / Now serving Time Machine 〜BigQuery Which Leapt Through Time〜
shiozaki
0
5.5k
これからのZOZOを支える ログ収集基盤を設計した話 / Log collection infrastructure to support ZOZO in the future
shiozaki
6
15k
Amazon AuroraのデータをリアルタイムにGoogle BigQueryに連携してみた / Realtime data linkage from Amazon Aurora to Google BigQuery
shiozaki
10
15k
ZOZOTOWNの事業を支えるBigQueryの話 / BigQuery behind ZOZOTOWN
shiozaki
7
10k
ZOZOTOWNのDWHをRedshiftからBigQueryにお引越しした話 / Moving ZOZOTOWN DWH from Redshift to BigQuery
shiozaki
16
11k
ZOZOTOWNのバッチデータ転送基盤紹介 / ZOZOTOWN's data transfer batch
shiozaki
0
570
1日あたり数百万商品をクロールする 大規模クローラーの裏側 / How IQON crawler works
shiozaki
4
1.7k
ファッションIT業界あるある / fashion IT aruaru
shiozaki
1
850
Other Decks in Technology
See All in Technology
開発組織の課題解決を加速するための権限委譲 -する側、される側としての向き合い方-
daitasu
4
240
Oracle Database@AWS:サービス概要のご紹介
oracle4engineer
PRO
4
1.6k
「ヒットする」+「近い」を同時にかなえるスマートサジェストの作り方.pdf
nakasho
0
110
大規模な組織におけるAI Agent活用の促進と課題
lycorptech_jp
PRO
6
7.7k
LINE Messengerの次世代ストレージ選定
lycorptech_jp
PRO
19
7.3k
マルチロールEMが実践する「組織のレジリエンス」を高めるための組織構造と人材配置戦略
coconala_engineer
2
410
クラウド時代における一時権限取得
krrrr38
1
160
Devinを導入したら予想外の人たちに好評だった
tomuro
0
880
Agentic Software Modernization - Back to the Roots (Zürich Agentic Coding and Architectures, März 2026)
feststelltaste
1
170
「データとの対話」の現在地と未来
kobakou
0
1.3k
男(監査)はつらいよ - Policy as CodeからAIエージェントへ
ken5scal
5
730
Agentic Codingの実践とチームで導入するための工夫
lycorptech_jp
PRO
0
400
Featured
See All Featured
Typedesign – Prime Four
hannesfritz
42
3k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
199
73k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.6k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.2k
Done Done
chrislema
186
16k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
130
How GitHub (no longer) Works
holman
316
140k
Google's AI Overviews - The New Search
badams
0
930
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
1
3.5k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.1k
Code Reviewing Like a Champion
maltzj
528
40k
Ruling the World: When Life Gets Gamed
codingconduct
0
160
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 ·ͱΊ