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
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
5
3.6k
タイムトラベルはじめました 〜時をかけるBigQuery〜 / Now serving Time Machine 〜BigQuery Which Leapt Through Time〜
shiozaki
0
5.4k
これからのZOZOを支える ログ収集基盤を設計した話 / Log collection infrastructure to support ZOZO in the future
shiozaki
6
14k
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
560
1日あたり数百万商品をクロールする 大規模クローラーの裏側 / How IQON crawler works
shiozaki
4
1.7k
ファッションIT業界あるある / fashion IT aruaru
shiozaki
1
830
Other Decks in Technology
See All in Technology
ユーザーストーリー x AI / User Stories x AI
oomatomo
0
170
設計は最強のプロンプト - AI時代に武器にすべきスキルとは?-
kenichirokimura
1
350
Claude Code 10連ガチャ
uhyo
3
650
プログラミング言語を書く前に日本語を書く── AI 時代に求められる「言葉で考える」力/登壇資料(井田 献一朗)
hacobu
PRO
0
150
AIエージェントは「使う」だけじゃなくて「作る」時代! 〜最新フレームワークで楽しく開発入門しよう〜
minorun365
10
1.6k
ubuntu-latest から ubuntu-slim へ移行しよう!コスト削減うれしい~!
asumikam
0
460
自己的售票系統自己做!
eddie
0
430
コンピューティングリソース何を使えばいいの?
tomokusaba
1
130
QAセントラル組織が運営する自動テストプラットフォームの課題と現状
lycorptech_jp
PRO
0
350
QAエンジニアがプロダクト専任で チームの中に入ると。。。?/登壇資料(杉森 太樹)
hacobu
PRO
0
180
旧から新へ: 大規模ウェブクローラの Perl から Go への移行 / YAPC::Fukuoka 2025
motemen
1
590
マウントとるやつ、リリースするやつ
otsuki
1
110
Featured
See All Featured
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Unsuck your backbone
ammeep
671
58k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
253
22k
Speed Design
sergeychernyshev
32
1.2k
Thoughts on Productivity
jonyablonski
73
4.9k
Code Review Best Practice
trishagee
72
19k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
127
54k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Scaling GitHub
holman
463
140k
We Have a Design System, Now What?
morganepeng
54
7.9k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
2.9k
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 ·ͱΊ