Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
自由と統制のバランス 分析基盤のアプローチ
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
rhase
June 27, 2019
Technology
1.8k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
自由と統制のバランス 分析基盤のアプローチ
@Data Pipeline Casual Talk Vol.3
https://dpct.connpass.com/event/130109/
rhase
June 27, 2019
Other Decks in Technology
See All in Technology
DGX Spark でどこまでハッキングができるのか?
kash1064
0
1.1k
継続的なAIコスト最適化
bgpat
1
290
UniFi(ユニファイ)AIカメラの現場活用
ludicmind
1
420
会社説明資料
persolserverworks
0
9.7k
AIは「聞けば答える」から「任せると自分で進める」へ - JACTIMペナン地域部会・ペナン三水会講演
knishioka
0
110
AIカンパニーへの転換を支えた、エンジニアの仕事の再定義
kworkdev
PRO
2
620
AI駆動開発の時代になったのでトヨタ生産方式から見直す
terurou
7
5.9k
無理せず続ける、子育てエンジニアの学び
codmoninc
PRO
0
720
分析AIエージェントを育てる、動く環境を育てる
codatum
1
1k
しろおびから始める!ログ活用の第一歩
shumei_ito
0
920
Cognition AI Japan - ウェビナー2_テストQA_運用監視
cogakira
0
140
TinyGoでオブザーバビリティ?OpenTelemetryはTinyGoで使えるのか / Is OpenTelemetry available in TinyGo environment?
ymotongpoo
2
140
Featured
See All Featured
Fireside Chat
paigeccino
43
4.1k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
520
Exploring anti-patterns in Rails
aemeredith
4
530
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
370
Speed Design
sergeychernyshev
33
2.2k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.5k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
A Tale of Four Properties
chriscoyier
163
24k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
1k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.8k
The Invisible Side of Design
smashingmag
301
52k
Transcript
ࣗ༝ͱ౷੍ͷόϥϯε ڞ௨ੳج൫ͷΞϓϩʔν %BUB1JQFMJOF$BTVBM5BMLVol.3 ୩ྃࣔ άϧʔϓϚωʔδϟʔ γεςϜຊ෦ੳਪਐ෦ΤϯδχΞϦϯάάϧʔϓ גࣜձࣾσΟʔɾΤψɾΤʔ
%F/"ͷੳ৫ͱΤϯδχΞϦϯάάϧʔϓʹ͍ͭͯ ήʔϜɾΤϯλʔςΠϯϝϯτࣄۀຊ෦ εϙʔπࣄۀຊ෦ ΦʔτϞʔςΟϒࣄۀຊ෦ ϔϧεέΞࣄۀຊ෦ ωοταʔϏεࣄۀຊ෦ ੳ୲ऀ γ ε
ς Ϝ ຊ ෦ ੳ ਪ ਐ ෦ Τ ϯ δ χ Ξ Ϧ ϯ ά ̜ • 共通分析基盤の構築/運⽤ • 分析ツール開発 • 共通集計構築/運⽤ • AIシステム基盤 ੳ୲ऀ ੳ୲ऀ ੳ୲ऀ ੳ୲ऀ "*ຊ෦
ݱࡏͷڞ௨ੳج൫ -PH $PMMFDUPS )BEPPQ 7FSUJDB Argus 内製BIツール) "QQ 4FSWFS
%# #JH2VFSZ #BUDI 4FSWFS +FOLJOT )VF MPH サービス基盤 分析基盤 %F/"0O1SFNJTFT ($1 .FEKFE 内製ETLツール • ͔Β)BEPPQͷӡ༻Λ։࢝ɻ • ͪͳΈʹ z)BEPPQ5IF%FGJOJUJWF(VJEFz ຊ ͷॳ൛͕ग़൛͞Εͨͷ͕ɻ • ͦͷޙɺ༷ʑͳ֦ுΛଓ͚ࠓʹࢸΔɻ • ݱࡏͷنײɿ1# EBUB OPEFT *NQPSUEC όονδϣϒཧ ʹར༻ 4FSWJDF" 4FSWJDF# ・ ・ ・
ڞ௨ੳج൫ͷ৽Λਐߦத "QQ4FSWFS %# MPH #JH2VFSZ EJHEBH ($4 ($11SPKFDU" 4FSWJDF"
4FSWJDF# ($11SPKFDU# サービス基盤 ・ ・ ・ ・ ・ ・ 分析基盤 ($1 (,& Argus 内製BIツール) .FEKFE 内製ETLツール ($11SPKFDU9 • ݱࡏɺੳج൫ͷ৽ΛஅߦதɻzQSPKFDUQPMZNPSQIz • %8)Λશͯ#JH2VFSZʹҠߦ͠ɺपลͷπʔϧ($1্ʹߏɻ • ৄࡉΛ͓͢ΔͱͰΓͳ͘ͳΔͷͰɺڵຯ͋Δํ࠙ձͰ͓͠·͠ΐ͏ʂ
ࠓͷτϐοΫ • zQPMZNPSQIzʹͯղܾ͠Α͏ͱ͍ͯ͠Δ՝ͷҰͭʹϑΥʔΧεͯ͠͝հ͠·͢ɻ • ʮࣗ༝ͱ౷੍ͷόϥϯεΛͲ͏ͱΔ͔ʁʯͱ͍͏՝ʹର͢ΔҰͭͷΞϓϩʔνɻ • ͝հ͢ΔΞϓϩʔνɺࠓ·͞ʹಋೖΛ։࢝ͨ͠ͱ͜ΖͰɺ͜Ε͔Βຏ͖Λ͔͚ͭͭશࣾ ల։ΛਐΊΑ͏ͱ͍ͯ͠Δঢ়گͰ͢ɻ
͜Ε·Ͱ%F/"ͷੳج൫ར༻ऀʹߴ͍Ϩϕϧͷࣗ༝Λ༩͖͑ͯͨ • ֤αʔϏεͰσʔλʹج͖ͮҙࢥܾఆ͢ΔจԽ͕͍͍ࠜͯΔɻ • ͦͷͨΊɺར༻ऀ෯͍ɻ • ྫ͑ɺ#*πʔϧz"SHVTzͷ."6 ۙ͘ɻ࿈݁ͷશࣾһͷ͓Αׂͦɻ • εϐʔυײΛଛͳΘͣੳΛਪਐ͢ΔͨΊɺར༻ऀʹۃྗɺࣗ׆ͯ͠Β͏ํΛબΜͩɻ
• աʹ౷੍Λ͔͚Δ͜ͱͰج൫Λཧ͢Δଆ͕ϘτϧωοΫͱͳΔ͜ͱΛආ͚ͨɻ ήʔϜɾΤϯλʔςΠϯϝϯτࣄۀຊ෦ εϙʔπࣄۀຊ෦ ΦʔτϞʔςΟϒࣄۀຊ෦ ϔϧεέΞࣄۀຊ෦ ωοταʔϏεࣄۀຊ෦ ੳ୲ऀ ੳ୲ऀ ੳ୲ऀ ੳ୲ऀ ੳ୲ऀ ଟ͘ͷࣄۀ͕ڞ௨ੳج൫Λར༻͠ ͍ͯΔɻ
͜Ε·Ͱ%F/"ͷੳج൫ར༻ऀʹߴ͍Ϩϕϧͷࣗ༝Λ༩͖͑ͯͨ • 42-ΫΤϦ࡞ • Ϩϙʔτ࡞ )BEPPQ 7FSUJDB #JH2VFSZ "SHVT
#*πʔϧ +FOLJOT #BUDI4FSWFS • ूܭɾੳεΫϦϓτ࡞ • ΞυϗοΫੳ • ͜ΕΒΛར༻ऀ͕όοναʔόʹ TTI ͰϩάΠϯͯ͠࡞ۀ • όονδϣϒઃఆ • ΤϥʔରԠ • (6*ΛͬͨੳɾϨϙʔςΟϯά͚ͩͰͳ͘ɺόονઃఆόοναʔόͷϩάΠϯ·Ͱ ͍ͤͯΔ ར༻ऀ͕ߦ͏࡞ۀ
͔͠͠౷੍͕؇͘ͳΓա͗ɺࠞཚ͕ੜ͡Δέʔε͕Ͱ͖ͯͨʜ ߏཧʹؔ͢ΔࢧԉɾΈԽ͕ෆेͩͬͨɻ ར༻ऀ͕ΤϯδχΞͰͳ͍έʔεଟ͍ͷͰɺͳ͓͞Βࠞཚʹܨ͕ͬͨɻ ͲΜͲΜ์͠ʹͳ͍ͬͯ͘ڥ όʔδϣϯཧ͞Ε͍ͯͳ͍εΫϦϓτ͕ΘΜ͔͞ग़͖ͯͨΓʜ git status ... modified:
hoge.sh modified: fuga.sql (⼭のような modified) ... Untracked files: some_file.sql other_file.sql (⼭のような Untracked files) ࠷ॳ HJU ཧ͠Α͏ͱͯͨ͠Α͏͕ͩɺ్த Ͱ࠳ંͪ͠Ό༷ͬͨࢠʜ ʢ࣮Ͱ͢ʣ QZFOW Ͱ QZUIPOͷόʔδϣϯ ͕ΓସΘΒͳ͍ʜ ... PATH=/usr/bin:$PATH ... CBTISD Ͱ 1"5)্͕ॻ͖͞Εͯͨ… ʢ࣮Ͱ͢ʣ CBTISD ͕͍ͭͷؒʹ͔ॻ͖͑ΒΕͨΓʜ
Ұํɺ·ͩ·ͩࣗ༝͕Γͳ͍έʔεग़͖ͯͨʜ • Ψνʹ"*.-ʹऔΓΉҊ݅Ͱઐ༻ͷڥΛΨοπϦΉɻ • αʔϏεͷίΞʹ"*.-ΛऔΓೖΕΔલఏͰɺ૬ԠͷࢿΛ͢ΔΑ͏ͳέʔεɻ • Ҋ݅ຖʹݸผʹڥΛઃܭɾߏங͢Δɻ • ͔͠͠ɺεϞʔϧελʔτͰࢼ͍ͨ͠ɺͱ͍ͬͨχʔζग़͖͓ͯͯΓɺͳ͔ͳ͔ॊೈʹର ԠͰ͖ͳ͍ɻ
• ઐ༻ͷڥΛΉʹʢओʹ໘ͷʣίετ͕େ͖ա͗Δɻ • ʮڞ௨ੳج൫Λ͑ͳ͍͔ʁʯͱ૬ஊ͞ΕΔέʔε͕Α͋͘Δ͕ɺશαʔϏε͕ಉډ ͍ͯ͠Δ͜ͱ͋ΓԠ͑ͮΒ͍ɻ • ҆қʹߏม͑ͨΓ04.8ΞοϓάϨʔυ͠ɺͲ͔͜ͰσάϨ͢ΔϦεΫɻ • ҆қʹॏ͍ॲཧͿͬࠐ·Εͯશମ͕Ԇ͢ΔϦεΫɻ
ղܾࡦ ߏཧ ίϯςφ
ࣗ༝ΛอͪͭͭߏཧΛڧ੍͢ΔΈͷߏங • Πϯϑϥ*B$Ͱཧɻ • UFSSBGPSN • LT (,& • ར༻ऀଆʹɺඞͣόʔδϣϯཧ
HJUIVC ͱ࿈ܞ͠ͳ͚ΕͳΒͳ͍ΈΛఏڙɻ • όονεΫϦϓτλεΫఆٛ EJHEBH ʹอଘ͢Δɻ EJHEBH QVTI • ֎෦͔Βͷ EJHEBH QVTIΛΈ্ېࢭɻ • HJU DMPOFEJHEBH QVTI͢ΔλεΫΛ EJHEBH ʹ༻ҙ͓͖ͯ͠ɺͦΕΛͬͯΒ͏ɻ Digdag Kubernetes Engine digdag DeNA on-premises Github Enterprise 外部からは digdag push できない構成 git clone & digdag push する タスクを⽤意しておく。
ίϯςφͰڥΛִࣗ͠༝VQ • ج൫ଆͰఏڙ͢ΔαʔϏεʢEJHEBHʣίϯςφͰಈ͔͢ɻ • ར༻ऀଆͰڥΛΧελϚΠζ͍ͨ͠߹ίϯςφΛͬͯΒ͏ɻ • ʮQZUIPOͰ.-Λ࣮ߦ͍ͨ͠ɻͦͷͨΊʹɺઐ༻ͷϥΠϒϥϦ͕ඞཁʯΈ͍ͨͳέʔεɻ • EJHEBH ͷλεΫͰ
LTBQJ ୟ͍ͯผͳίϯςφ LTKPC Λىಈɻ • ར༻ऀଆͰίϯςφΛ༻ҙͯ͠Β͑ΕɺλεΫͷ࣮ߦڥΛΧελϚΠζՄೳɻ LT"1*4FSWFS EJHEBH QPE CBUDIKPC QPE apiVersion: batch/v1 kind: Job metadata: name: some-job ... LVCFDUM BQQMZ ίϯςφ͕ɺੳج൫ͷཧऀͱϔϰΟϢʔβͷ͍͍ײ͡ͷքͱͳΔɻ • ϢʔβࣗΈʹίϯςφΛ࡞ΓࠐΊΔҰํɺίϯςφ֎ʹӨڹΛٴ΅͢͜ͱͳ͍ɻ • ଞͷίϯςφͷӨڹΛؾʹ͢Δ͜ͱͳ͘ɺॏ͍ͨॲཧͲΜͲΜͿΜճͤΔɻ
(,&ΦʔτεέʔϧΛ׆༻͠ɺϦιʔε໘Ͱࣗ༝VQ • $MVTUFS"VUPTDBMJOH $" Λ׆༻͍ͯ͠Δɻ • ίετʹ༏͍͠ɻ • ॳظϊʔυθϩͰ BVUPTDBMF
ઃఆͨ͠ OPEFQPPM HDFͷΫϥελΈ͍ͨͳͷ Λఆٛɻ • Ϧιʔε͕Γͳ͘ͳΔͱɺউखʹϊʔυΛىಈͯ͘͠ΕΔɻ༨ͳϊʔυ͕͋ͬͨΒམͱ ͯ͘͠ΕΔɻ • ͚͓͔͔ͬͨͩۚΔͷͰศརʂ • Ϧιʔεͷཁٻʹ͋ΔఔॊೈʹରԠՄೳɻ • ʮ(16͍͍ͨʯʮ͜ͷॲཧϝϞϦͨ͘͞Μ͍͍ͨʯFUDɻ • ͍ͦ͏ͳεϖοΫͷෳछྨͷ OPEFQPPMΛఆ͓͚ٛͯ͠Α͍ɻ • /PEF"VUP1SPWJTJPOJOH /"1 ͱ͍͏ػೳ͋Δ͕ • ༧Ί OPEFQPPMΛఆ͓͔ٛͯ͠ͳͯ͘ɺQPEͷཁٻʹରͯͪ͠ΐ͏Ͳ͍͍εϖοΫͷ /PEFΛݟસͬͯ͘ΕΔɻ • ݱঢ়ɺPBVUI TDPQFͷࢦఆ͕Ͱ͖ͳ͍ͷͰஅ೦ PS[ • CR ʹΞΫηεͤ͞ΔͨΊʹɺೝূ伴ΛࣗલͰཧ͢Δඞཁ͕ग़ͯ͘Δɻ • ·ͩЌͳͷͰࠓޙʹظɻ • ઌЌϦϦʔε͞Εͨz8PSLMPBE*EFOUJUZzΛ͑伴ཧෆཁʹͳΔ͔ʁ
·ͱΊ • Πϯϑϥ͚ͩͰͳ͘ɺར༻ऀʹߏཧΛΈͰڧ੍͢Δ͜ͱͰɺࣗ༝Λอͪͭͭ౷ ੍Λ͔͚Δɻ • ίϯςφΛքͱͯ͠ɺίϯςφͷதͰར༻ऀʹࣗ༝ʹͬͯΒ͍ɺཧऀத Λؾʹ͢Δ͜ͱͳ͘ӡ༻ɻ
࠷ޙʹ • ࠓճ͓ͨ͠Ҏ֎ʹɺ͍ΖΜͳΈʹʑ໘͍ͯͯ͠ɺQPMZNPSQIͰղܾʹऔΓΜͰ͍·͢ɻ • ."ɺ৫มߋ͕ͭΒ͍ʜ • ྺ࢙ͷॏΈ͕ͭΒ͍ʜ • ·ͨ%F/"Ͱ •
ࣄۀͷ࠷લઢʹ͓͚ΔϢʔβαʔϏεੳ • "*ͷࣾձ࣮ • σʔλαΠΤϯεʹΑΔࣄۀ՝ͷղܾ • ͜ΕΒΛࢧ͑Δ.-0QTɺπʔϧ։ൃɺσʔλඋͷΤϯδχΞϦϯά ͳͲͳͲ༷ʑͳऔΓΈΛߦ͍ͬͯ·͢ɻ ڵຯͷ͋Δํɺ࠙ձͰ͓͠·͠ΐ͏ʂ • ڞ௨ੳج൫ͷҰ൪ͷར༻෦Ͱ͋ΔήʔϜࣄۀ෦ੳ෦ͷϝϯό͕ (PPHMF$MPVE/FYU5PLZPͰ ొஃ͠·͢ɻ͝ڵຯ͕͋Δํੋඇͪ͜ΒνΣοΫͯ͠Լ͍͞ʂ • IUUQTDMPVEXJUIHPPHMFDPNOFYUUPLZPTFTTJPOT TFTTJPO%4