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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
rhase
June 27, 2019
Technology
2
1.8k
自由と統制のバランス 分析基盤のアプローチ
@Data Pipeline Casual Talk Vol.3
https://dpct.connpass.com/event/130109/
rhase
June 27, 2019
Tweet
Share
Other Decks in Technology
See All in Technology
AzureでのIaC - Bicep? Terraform? それ早く言ってよ会議
torumakabe
1
620
OCI Database Management サービス詳細
oracle4engineer
PRO
1
7.4k
ECS障害を例に学ぶ、インシデント対応に備えたAIエージェントの育て方 / How to develop AI agents for incident response with ECS outage
iselegant
4
460
Ruby版 JSXのRuxが気になる
sansantech
PRO
0
170
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
5
1.6k
Oracle Cloud Observability and Management Platform - OCI 運用監視サービス概要 -
oracle4engineer
PRO
2
14k
22nd ACRi Webinar - NTT Kawahara-san's slide
nao_sumikawa
0
120
【Oracle Cloud ウェビナー】[Oracle AI Database + AWS] Oracle Database@AWSで広がるクラウドの新たな選択肢とAI時代のデータ戦略
oracle4engineer
PRO
2
190
プロポーザルに込める段取り八分
shoheimitani
1
670
ランサムウェア対策としてのpnpm導入のススメ
ishikawa_satoru
0
230
今こそ学びたいKubernetesネットワーク ~CNIが繋ぐNWとプラットフォームの「フラッと」な対話
logica0419
5
540
AWS Network Firewall Proxyを触ってみた
nagisa53
1
250
Featured
See All Featured
Become a Pro
speakerdeck
PRO
31
5.8k
Docker and Python
trallard
47
3.7k
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
110
Building AI with AI
inesmontani
PRO
1
710
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
68
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
7.9k
Navigating Team Friction
lara
192
16k
We Are The Robots
honzajavorek
0
170
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
57
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.1k
Paper Plane (Part 1)
katiecoart
PRO
0
4.3k
Amusing Abliteration
ianozsvald
0
110
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