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
【初心者向け】ローカルLLMの色々な動かし方まとめ
aratako
7
3.4k
会社紹介資料 / Sansan Company Profile
sansan33
PRO
6
380k
共有と分離 - Compose Multiplatform "本番導入" の設計指針
error96num
2
450
Codeful Serverless / 一人運用でもやり抜く力
_kensh
7
410
Obsidian応用活用術
onikun94
2
490
【実演版】カンファレンス登壇者・スタッフにこそ知ってほしいマイクの使い方 / 大吉祥寺.pm 2025
arthur1
1
840
5年目から始める Vue3 サイト改善 #frontendo
tacck
PRO
3
220
Rustから学ぶ 非同期処理の仕組み
skanehira
1
130
KotlinConf 2025_イベントレポート
sony
1
130
要件定義・デザインフェーズでもAIを活用して、コミュニケーションの密度を高める
kazukihayase
0
110
Terraformで構築する セルフサービス型データプラットフォーム / terraform-self-service-data-platform
pei0804
1
170
研究開発と製品開発、両利きのロボティクス
youtalk
1
520
Featured
See All Featured
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.6k
Music & Morning Musume
bryan
46
6.8k
RailsConf 2023
tenderlove
30
1.2k
Balancing Empowerment & Direction
lara
3
620
Practical Orchestrator
shlominoach
190
11k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
30
9.7k
The Power of CSS Pseudo Elements
geoffreycrofte
77
6k
Building an army of robots
kneath
306
46k
For a Future-Friendly Web
brad_frost
180
9.9k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
840
The Art of Programming - Codeland 2020
erikaheidi
56
13k
Context Engineering - Making Every Token Count
addyosmani
2
41
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 Ғେ ႈͳσʔλ࿈ܞδϣϒͷઃܭํ๏Λհ
ચ͍ସ͑ ࠩߋ৽