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@表参道.rb #14
Search
Takuya Arita
August 05, 2016
Programming
1
1.4k
Digdag@表参道.rb #14
表参道.rb #14のLT資料です
Takuya Arita
August 05, 2016
Tweet
Share
More Decks by Takuya Arita
See All by Takuya Arita
Hosted Redash の EOL と移行ツール redash-migrate / You should know about Hosted Redash EOL and redash-migrate
ariarijp
0
3k
Redash で踏み出す BI 導入はじめの一歩 / DataEngineeringStudy Redash
ariarijp
1
2.1k
Redash のいま / Redash in 2021
ariarijp
2
1k
Redash 導入・運用を4年ぐらいやって変わったこと・変わらなかったこと / Changed and unchanged things with Redash and me
ariarijp
0
1.3k
5年前の自分に伝えたい広告 API 周辺の歩き方 / SOT Tech Night vol.1
ariarijp
1
470
使われていない、を知る / How do we know unused things in the real world?
ariarijp
0
390
MULTI_ORG について / What is MULTI_ORG in Redash
ariarijp
1
3.4k
あらためて振り返る Redash の使いどころ / Why I strongly recommend Redash
ariarijp
2
1.2k
PHP Data Structures
ariarijp
1
510
Other Decks in Programming
See All in Programming
どうして手を動かすよりもチーム内のコードレビューを優先するべきなのか
okashoi
3
580
DevFest - Serverless 101 with Google Cloud Functions
tunmise
0
120
Go の GC の不得意な部分を克服したい
taiyow
3
840
情報漏洩させないための設計
kubotak
4
830
見えないメモリを観測する: PHP 8.4 `pg_result_memory_size()` とSQL結果のメモリ管理
kentaroutakeda
0
720
Amazon S3 NYJavaSIG 2024-12-12
sullis
0
110
ブラウザ単体でmp4書き出すまで - muddy-web - 2024-12
yue4u
3
490
선언형 UI에서의 상태관리
l2hyunwoo
0
190
LLM Supervised Fine-tuningの理論と実践
datanalyticslabo
7
1.5k
これでLambdaが不要に?!Step FunctionsのJSONata対応について
iwatatomoya
2
3.8k
責務を分離するための例外設計 - PHPカンファレンス 2024
kajitack
8
1.9k
htmxって知っていますか?次世代のHTML
hiro_ghap1
0
350
Featured
See All Featured
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
8
1.2k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
111
49k
Why Our Code Smells
bkeepers
PRO
335
57k
Into the Great Unknown - MozCon
thekraken
33
1.5k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
159
15k
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.3k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
17
2.3k
Building Better People: How to give real-time feedback that sticks.
wjessup
366
19k
YesSQL, Process and Tooling at Scale
rocio
169
14k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
169
50k
Docker and Python
trallard
42
3.1k
Practical Orchestrator
shlominoach
186
10k
Transcript
Digdag@දࢀಓ.rb #14 @ariarijp
ࣗݾհ • @ariarijp (Takuya Arita) • දࢀಓ.rbࢀՃ3ճɺൃද2ճ • ιϑτΣΞΤϯδχΞ@ίίϥϒϧ
ࣄͷ8ׂόονॲཧ
None
όονॲཧͷͭΒΈ • ຯ • -> ผʹݏ͡Όͳ͍ • CSV • ->
ͭΒ͍͚Ͳࠓʹ͠ͳ͍ • ґଘؔͷߟྀ • -> ͭΒ͍
Α͋͘Δґଘؔ • όονA, B, C, D, E, F, G͕͋Δ •
A, B, Cฒྻ࣮ߦͰ͖Δ • DA, B, C͕͔ͯྃͯ͢͠Β࣮ߦ • E, FD͕͔ྃͯ͠Β࣮ߦɺฒྻ࣮ߦͰ͖Δ • GE, F͕͔ͯྃͯ͢͠Β࣮ߦ
ґଘؔΛ͕Μͬͯղܾ͢Δ • ྻʹ࣮ߦ • -> ॱ൪कΒΕΔ͠ɺΘ͔Γ͍͚͢Ͳ͍ • εςʔλεΛԿΒ͔ͷܗͰཧͯ͠ฒྻ࣮ߦΛఘΊͳ͍ • ->
ҟৗऴྃͨ࣌͠ͷεςʔλεΫϦΞͳͲͷߟྀ͕໘ • ࣮ߦִؒΛௐͭͭ͠ɺͳʹ͔ى͖ͨΒӡ༻ͰΧόʔ͢ΔલఏͰ crontabγΣϧεΫϦϓτΛͬͯฒྻ࣮ߦ • ->
ͦ͜Ͱ Digdag
Digdag • Fluentd, Embulkʹଓ͘Treasure DataϓϩμΫτ • JavaͳͷͰ͍͍ͩͨͲ͜Ͱಈ͘ɺΠϯετʔϧָ • YamlͰϫʔΫϑϩʔΛఆٛ͠ɺdigdag runͰ࣮ߦ
• όονΛฒྻ࣮ߦɺόοΫάϥϯυ࣮ߦ͢Δ͜ͱ͕ Ͱ͖ɺґଘؔ·ΘΓͷࠔΓࣄҰ௨ΓϑΥϩʔ͞Ε ͍ͯΔҹ
Digdagʹ͍ͭͯͷޡղ • TDͰEmbulkTD, BigQueryͱ߹Θͤͯ հ͞ΕΔ͜ͱ͕ଟ͍ͨΊɺେྔͷσʔλΛѻ ͏ͨΊͷπʔϧͱࢥΘΕ͕ͪͳͷͰʁ • DigdagϫʔΫϑϩʔΛཧͯ͘͠ΕΔ͚ͩ ͳͷͰɺόονॲཧશൠʹར༻Ͱ͖Δ
DigdagͬͯΈͨ • PHPͰॻ͔Ε͍͔ͨͭ͘ͷόονΛ࣮ߦ͢ΔϫʔΫϑϩʔΛ ఆٛ • sh> ΦϖϨʔλʔΛ͑ΕPHPͰͳΜͱ͔ͳΔ • ఆٛͨ͠ϦετΛͬͯ܁Γฦ࣮͠ߦͰ͖Δfor_each> ศར
• ฒྻԽΛఘΊ͍ͯͨόονɺࠞಱͱͨ͠crontabʹฏ ͕ͨΒ͞Εͨ
ࠓදࢀಓ.rbͳͷʹ ·ͩRubyͷͯ͠ͳ͍ɾɾɾ
Ruby API
Ruby APIͷ͍ํ • ϫʔΫϑϩʔͷ֤εςοϓͷॲཧΛϝιουͱͯ࣋͠ ͭΫϥεΛॻ͍ͨRubyεΫϦϓτΛಡΈࠐΉ • rb> ΦϖϨʔλʔͰͲͷϝιουΛ࣮ߦ͢Δ͔Λఆٛ ͢Δ •
RubyεΫϦϓτ͔ΒϫʔΫϑϩʔͰ༻͢Δม Λఆٛͨ͠ΓɺࢠλεΫΛ࡞ɾ࣮ߦ͢Δ͜ͱͰ͖ Δ
Ruby APIͷҙ • rubyͷύεΛࢦఆͰ͖ͳͦ͞͏ͳͷͰɺrbenvͳͲͰόʔδϣϯΛ Γସ͑Δ • υΩϡϝϯτʹهࡌ͞Ε͍ͯΔαϯϓϧɺσϑΥϧτͳ͠ͷ ΩʔϫʔυҾ͕͋ͬͨͷͰ2.1Ҏ߱લఏͬΆ͍ • εΫϦϓτผϓϩηεͰಈ͘ͷͰɺ࣮ߦ݁ՌͳͲΛڞ༗͍ͨ͠
߹DigdagͷมDB, ϑΝΠϧͳͲͰڞ༗͢Δ • Ruby API͔Βઃఆͨ͠ม͕ྻͩͬͨ߹ɺͦͷมΛͬͯ for_each> Ͱ͙Δ͙Δճ͢ͷͰ͖ͳͦ͞͏
͕࣌ؒ͋Ε DigdagͱRuby APIͷσϞ
·ͱΊ • ग़ੈ͠Α͏ͱ͠ͳ͘ͱόονॲཧͦΕͳ Γʹॻ͘͜ͱʹͳΔ • DigdagσʔλΤϯδχΞϦϯάͷ༻్Ҏ֎ ͰϫʔΫϑϩʔΤϯδϯͱͯ͑͠Δ • ґଘؔͷ͋Δͪΐͬͱෳࡶͳόονॲཧ Digdagͷग़൪͔
ࢀߟࢿྉ • υΩϡϝϯτ • http://www.digdag.io/ • ݹڮః೭͞ΜΠϯλϏϡʔ - Tokyo RubyKaigi
11 #tkrk11 • http://regional.rubykaigi.org/tokyo11/interview/frsyuki/ • DigdagͰruby/pythonؒͰมΛ͢ • http://qiita.com/toru-takahashi/items/ 418eb5a4dda4e8555a00