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
冪等性を考慮したデータ連携ジョブの設計
Search
hsasakawa
April 12, 2019
Technology
6
2.1k
冪等性を考慮したデータ連携ジョブの設計
hsasakawa
April 12, 2019
Tweet
Share
More Decks by hsasakawa
See All by hsasakawa
Suffix Trees and Suffix Arrays
hsasakawa
0
120
行動ログ処理基盤の構築
hsasakawa
0
3.4k
Data platform development on M3 USA
hsasakawa
0
1.2k
Data Analysis Platform Development @M3, inc.
hsasakawa
0
3.4k
Other Decks in Technology
See All in Technology
猫でもわかるAmazon Q Developer CLI 解体新書
kentapapa
1
230
初海外がre:Inventだった人間の感じたこと
tommy0124
1
170
Raycast AI APIを使ってちょっと便利なAI拡張機能を作ってみた
kawamataryo
0
230
datadog-incident-management-intro
tetsuya28
0
110
進化する大規模言語モデル評価: Swallowプロジェクトにおける実践と知見
chokkan
PRO
3
430
251029 JAWS-UG AI/ML 退屈なことはQDevにやらせよう
otakensh
0
120
OpenCensusと歩んだ7年間
bgpat
0
300
様々なファイルシステム
sat
PRO
0
280
NOT A HOTEL SOFTWARE DECK (2025/11/04)
notahotel
0
710
.NET 10のBlazorの期待の新機能
htkym
0
170
Retrospectiveを振り返ろう
nakasho
0
150
今から間に合う re:Invent 準備グッズと現地の地図、その他ラスベガスを周る際の Tips/reinvent-preparation-guide
emiki
1
220
Featured
See All Featured
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1k
Reflections from 52 weeks, 52 projects
jeffersonlam
355
21k
Git: the NoSQL Database
bkeepers
PRO
431
66k
Agile that works and the tools we love
rasmusluckow
331
21k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
9
940
Designing for Performance
lara
610
69k
Done Done
chrislema
186
16k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
Faster Mobile Websites
deanohume
310
31k
Documentation Writing (for coders)
carmenintech
76
5.1k
The Power of CSS Pseudo Elements
geoffreycrofte
80
6k
Transcript
ႈੑΛߟྀͨ͠ σʔλ࿈ܞδϣϒͷઃܭ Hirohito Sasakawa data engineer at M3, inc.
ΞδΣϯμ • ΤϜεϦʔͷσʔλج൫ͷߏ • σʔλ࿈ܞδϣϒͷߏ • σʔλ࿈ܞͱႈੑ • ચ͍ସ͑ •
ࠩߋ৽ • ·ͱΊ
M3ͷσʔλج൫ͷߏ 2VFSZ 2VFSZ 2VFSZ 1SPEVDUJPO … 3FQPSU … 4ZOD 4ZOD
2VFSZ #JH2VFSZ
M3ͷσʔλج൫ͷߏ 2VFSZ 2VFSZ 2VFSZ 1SPEVDUJPO … 3FQPSU … 4ZOD 2VFSZ
4ZOD #JH2VFSZ
σʔλ࿈ܞδϣϒͷߏ "QQMJDBUJPO %#T #JH2VFSZ %JHEBH &NCVML %JHEBHͱ&NCVMLͷར༻ ར༻࣮ଟ
ϫʔΫϑϩʔɺσʔλநग़ͷ࣮͕؆୯ σʔλιʔεʹԠͨ͡ϓϥάΠϯػߏ .64"ग़ுه.64"Ͱσʔλج൫ڥඋͱ,1*ϞχλϦϯ άπʔϧͷಋೖΛ࣮ࢪ͠·ͨ͠ IUUQTXXXNUFDICMPHFOUSZNVTBEFWFMPQNFOUEBUBQMBUGPSN
Embulkͷ࣮ ೖྗσʔλʹ͍ͭͯͷઃఆ %#ଓใҎ֎ ΄΅42- ग़ྗσʔλʹ͍ͭͯͷઃఆ
BigQuery্ͷσʔλ "QQMJDBUJPO %#T 4PVSDF ݩςʔϒϧͷ ίϐʔ .BSU සग़͢ΔՃΛ ༧Ίద༻ͨ͠ σʔλ
ػցֶशϓϩμΫτ͔Βͷσʔλऔಘ "QQMJDBUJPO %#T 4PVSDF .BSU NEPXOMPBEFS .-1SPEVDU #2ʹΞΫηεͯ͠ EBUBGSBNFܗࣜͰ ΠΠײ͡ʹσʔλΛ
औಘ͢Δ 1ZUIPOQBDLBHF
σʔλ࿈ܞδϣϒͷߏ (࠶ܝ) "QQMJDBUJPO %#T 4PVSDF ݩςʔϒϧͷ ίϐʔ .BSU සग़͢ΔՃΛ ༧Ίద༻ͨ͠
σʔλ
σʔλ࿈ܞδϣϒͷߏ (࠶ܝ) "QQMJDBUJPO %#T 4PVSDF ݩςʔϒϧͷ ίϐʔ .BSU සग़͢ΔՃΛ ༧Ίద༻ͨ͠
σʔλ ͜͜ͱ ͜͜Λ ָʹ͍ͨ͠
δϣϒͷࣦഊͱϦΧόϦ δϣϒ͍ΖΜͳཧ༝Ͱࣦഊ͢Δ σʔλߋ৽ͷԆ σʔλ૿Ճ 4BB4ଆͷෆ۩߹ͳͲͳͲ ϦΧόϦδϣϒͷ࠶࣮ߦ͚ͩͰࡁ·͍ͤͨ
ΦϖϨʔγϣϯϛεͷࢭ ్த·ͰՃ͞ΕͨσʔλΛআͯ͠ʜ☠ ႈͳσʔλ࿈ܞδϣϒΛ࣮͍ͨ͠
σʔλ࿈ܞύλʔϯ1: ચ͍ସ͑ "QQMJDBUJPO %#T ຖճσʔλΛ্ॻ͖͢ΔPSผςʔϒϧʹ͢Δ ΄ͱΜͲͷ߹͜ΕͰ͍͍ ႈͳͷͰϦΧόϦ୯७ʹ࠶࣮ߦͰ0,
ศརʂ
σʔλ࿈ܞύλʔϯ2: ࠩߋ৽ "QQMJDBUJPO %#T લճ࿈ܞͱͷࠩͷΈΛ࿈ܞ σʔλαΠζ͕େ͖͍ςʔϒϧͰඞཁʹͳΔ ୯७ʹ࣮͢ΔͱႈʹͳΒͳ͍
δϣϒࣦഊ࣌ͷϦΧόϦେม ೖͬͯ͠·ͬͨσʔλΛಛఆআͯ͠Γ͢ͳͲ
σʔλ࿈ܞύλʔϯ2: ࠩߋ৽ "QQMJDBUJPO %#T લճ࿈ܞͱͷࠩͷΈΛ࿈ܞ σʔλαΠζ͕େ͖͍ςʔϒϧͰඞཁʹͳΔ ୯७ʹ࣮͢ΔͱႈʹͳΒͳ͍
δϣϒࣦഊ࣌ͷϦΧόϦେม ೖͬͯ͠·ͬͨσʔλΛಛఆআͯ͠Γ͢ͳͲ
ႈͳࠩߋ৽ (1/2) "QQMJDBUJPO %#T લճͷςʔϒϧ
ႈͳࠩߋ৽ (1/2) "QQMJDBUJPO %#T લճͷςʔϒϧ લճͷςʔϒϧ Λίϐʔ 4UFQ
ႈͳࠩߋ৽ (1/2) "QQMJDBUJPO %#T લճͷςʔϒϧ લճͷςʔϒϧ Λίϐʔ 4UFQ લճ͔Βͷ ࠩσʔλΛநग़
4UFQ
ႈͳࠩߋ৽ (2/2) "QQMJDBUJPO %#T લճͷςʔϒϧ ྆ऀΛ݁߹ͨ͠ ςʔϒϧΛ࡞ 4UFQ
ႈͳࠩߋ৽ (2/2) "QQMJDBUJPO %#T લճͷςʔϒϧ ྆ऀΛ݁߹ͨ͠ ςʔϒϧΛ࡞ 4UFQ 4UFQ͔Β࠶࣮ߦͰ0, ඞཁ͕͋ΕɺͲͷϑΣʔζ͔Β
ͰΓͤΔ ϦΧόϦ
ࣦഊ࣌ͷϦΧόϦ ϦΧόϦ࠶࣮ߦͰ0, ඞཁʹԠͯ͡ҙͷ4UFQ͔Βͷ࠶࣮ߦ͕Մೳ 4UFQ·Ͱਖ਼ৗऴ͍ྃͯ͠ΔͷͰɺ4UFQ͔Β࠶࣮ߦͳͲ ͖ͬ͞ௐͯͨΒҎԼͷࢿྉͰղઆ͞Ε͍ͯ·ͨ͠ʜ ;0;0508/ͷ%8)Λ3FETIJGU͔Β#JH2VFSZʹ ͓Ҿӽͨ͠͠
IUUQTTQFBLFSEFDLDPNTIJP[BLJNPWJOH[P[PUPXOEXIGSPNSFETIJGUUPCJHRVFSZ
ҙ ͜ͷख๏ͷҙࣄ߲ ͦͦσʔλ͕ଟ͗ͯ͢ɺ͜ͷख๏ΛͱΔͷͰաڈͷ ςʔϒϧΛอ͓࣋ͯ͘͠ͷݱ࣮తͰͳ͍ աڈͷ͋Δ࣌ʹΔʹσʔλͷ࣋ͪํΛ͢Δ ඞཁ͕͋Δ FHCJUFNQPSBMEBUBNPEFMJOH
ૢ࡞ཤྺ࣌ࢦఆΞΫηεͷ࣮ݱ#J5FNQPSBM%BUB.PEFMͷ࣮ફ IUUQTTQFBLFSEFDLDPNGJNQMFNFOUJOHDPNNBOEIJTUPSZBOEUFNQPSBMBDDFTT
·ͱΊ ΤϜεϦʔͷσʔλج൫ͱ࿈ܞδϣϒʹ͍ͭͯফԽ #JH2VFSZXJUI %JHEBH &NCVML Ғେ ႈͳσʔλ࿈ܞδϣϒͷઃܭํ๏Λհ
ચ͍ସ͑ ࠩߋ৽