Upgrade to Pro — share decks privately, control downloads, hide ads and more …

月額コーヒー3.34杯分のコストでオオタニサンの活躍を見守るデータ基盤のはなし / Pyhac...

月額コーヒー3.34杯分のコストでオオタニサンの活躍を見守るデータ基盤のはなし / Pyhack Con

#pyhack conference 2023/06/17

Avatar for Shinichi Nakagawa

Shinichi Nakagawa

June 17, 2023
Tweet

More Decks by Shinichi Nakagawa

Other Decks in Technology

Transcript

  1. Who am I?(ࣗݾ঺հ) • Shinichi Nakagawa@shinyorke • ๭େख֎ࢿITίϯαϧاۀϚωʔδϟʔʢݱ৬ʣ • #Pyhack

    ॳࢀՃ: 2013/02/16ʢ#28ʣ, ଟ෼ৗ࿈ʢͱ͍͏ೝࣝʣ • ໺ٿ͕Ұ൪ͷझຯͱݟ͔͚ͤͯͦ͏Ͱ΋ͳ͍ਓ. • ωλ࿮ͱͯ͠ͷʮ໺ٿͷਓʯ͸طʹଔۀ͍ͯ͠·͢. 
 ͨ·ͨ·ݸਓ։ൃωλ͕໺ٿʹدͬͯΔ͚ͩͰ͢.
  2. ϥʔζɾψʔτόʔ ʢࣆJAPANʣ • ࣆJAPANॳͷΞϝϦΧग़਎બख • ଧ཰͸௿͍΋ͷͷग़ྥ཰ͱ௕ଧ཰ 
 ͦͯ͠ଧٿ଎౓͕଎͘, 3ϙδγϣϯ 


    ͦͭͳ͘कΕΔ֎໺कඋ΋˕ • Ωϟϥཱ͍͍ͪͯͯ͠Ϡπͱ͍͏ᷚ, 
 ࣆδϟύϯͷηϯλʔͱͯ͠ظ଴ʂ ※σϒαϛࢿྉΑΓൈਮ
  3. ϥʔζɾψʔτόʔ ʢࣆJAPANʣ • ࣆJAPANॳͷΞϝϦΧग़਎બख • ଧ཰͸௿͍΋ͷͷग़ྥ཰ͱ௕ଧ཰ 
 ͦͯ͠ଧٿ଎౓͕଎͘, 3ϙδγϣϯ 


    ͦͭͳ͘कΕΔ֎໺कඋ΋˕ • Ωϟϥཱ͍͍ͪͯͯ͠Ϡπͱ͍͏ᷚ, 
 ࣆδϟύϯͷηϯλʔͱͯ͠ظ଴ʂ 8#$͕։ນ͢Δલʢʣ ͜ͷ࣌఺Ͱψʔτόʔͷ׆༂Λ༧ݴ͢Δ͜ͱʹ੒ޭʂ ˞*5ۀքΤϯδχΞք۾࠷଎ͷൃදʢଟ෼ʣ Ұ൪όολʔͱͯ͠ͷ׆༂͸༧૝֎͕ͩͬͨͦΕ͸͓͖ͯ͞স
  4. Dash is Կऀ🤔 • PlotlyΛLow-codeπʔϧͱͯ͠ 
 ࢖͑ΔΑ͏ʹ͍͍ͨ͠ײ͡ͷౕ. • ϓϩτλΠϓͰ͸෼ੳɾՄࢹԽʹ 


    Jupyter LabͱPlotlyΛ࢖͓ͬͯΓ, 
 ͜ΕΛͦͷ··Ҡ২Ͱ͖ΔखஈͰ 
 ࣮૷͔ͨͬͨ͠. • https://dash.plotly.com/
  5. ࠓճ࡞ͬͨίʔυ 
 ʢҰ෦ൈਮʣ • Python͚ͩͰॻ͚Δͷ͸ΊͬͪΌศརͩͬͨ. • HTMLʹ໛ͨ͠ίϯϙʔωϯτΛPythonͰ 
 ΰϦͬͱॻ͍ͯ࡞੒͢Δͱ͍͍ײ͡ʹಈ͘. •

    ΠϕϯτۦಈͰͷॻ͖׵͑͸Callbackͳ 
 σίϨʔλʔͰ࣮૷. • ReactͬΆ͋ͬͯ͞ݸਓతʹ͸େ޷͖͕ͩ, 
 ςετ͕௒ॻ͖ʹ͍͘ҹ৅… 
 ※গͳ͘ͱ΋UI ίϯϙʔωϯτʹؔͯ͠
  6. Cloud RunΛબ୒ͨ͠ʢPythonicͳʣཧ༝ • μογϡϘʔυΞϓϦͷґଘϥΠϒϥϦతʹApp EngineͰಈ͔͘ո͔ͬͨͨ͠Ί • PandasʹDashʢPlotlyʣͱσʔλܥͷϥΠϒϥϦ͕੝Γͩ͘͞ΜͷWebΞϓϦ • ͜ͷ࣌఺ͰͪΌΜͱͨ͠ContainerܥͰಈ͔͞ͳ͍ͱବ໨ͩͳͬͯ൑அˠͦͷ௨Γͩͬͨ •

    બ୒͢Δ·Ͱͷࢥߟͱͯ͠͸… 1.ґଘϥΠϒϥϦͳͲͷ౎߹Ͱ΄΅PythonʢҰ෦GoʣͰͷ։ൃ -> Firebase͕ީิ͔Βফ͑Δ 2.Cloud FunctionsͰಈ͔͢ʹ͸ඍົͳ࢓༷ͱͳͬͨͨΊબ୒ࢶͱͯ͠ফڈ 3.App EngineʢStandardʣ͸Container͡Όͳ͍ -> Cloud Runʹܾఆ 
 ※ContainerͰಈ͔ͤΔApp EngineʢFlexibleʣΛ࢖Θͳ͔ͬͨཧ༝͸…ͦΜͳબ୒ࢶΛೖΕͨ͘ͳ͔͔ͬͨΒͰ͢ʢ௚ٿʣ
  7. ʲ౴ʳ࢖͏αʔϏεΛ޻෉ͯ͠ίετ཈੍ • ʮ࢖͏ͱ্ཱ͖͚͕ͩͪΕ͹͍͍ʯલఏͰશαʔϏεΛίʔϧυελϯόΠʹ. • ͢΂ͯͷΞϓϦɾػೳΛαʔόϨεͳΫϥ΢υʢCloud RunͳͲʣΛར༻. • ʮಈ͍͍ͯͳ͍࣌΋͓͕͔͔ۚΔʯͷ͸BigQueryͱετϨʔδͷΈʢ͘͝গ ֹʣ •

    σʔλอ؅͸࢖͍ํΛ޻෉͠ίετΛ཈͑Δ • ແྉ࿮ͷϧʔϧΛཧղ͠, ͦͷൣᙝͰۃྗ࢖͏ʢ㲈ඞཁͳ΋ͷʹ͸͓ۚΛ෷͏ʣ • BigQuery΋Cloud Storage΋ແྉ࿮ΛΊͬͪΌ׆༻