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

DatabricksとSparkではじめる [ビッグデータETL処理/データ可視化] 実践入門 / Databricks and Spark with ETL and Visualization

DatabricksとSparkではじめる [ビッグデータETL処理/データ可視化] 実践入門 / Databricks and Spark with ETL and Visualization

DatabricksとSparkではじめる [ビッグデータETL処理/データ可視化] 実践入門

Masatoshi Shimada

January 19, 2019
Tweet

More Decks by Masatoshi Shimada

Other Decks in Technology

Transcript

  1. ࣗݾ঺հ w ౡాխ೥!TNENUT w σʔλ΢ΣΞϋ΢εΞʔΩςΫτ 4DBMBc1ZUIPOc(PMBOHc+BWBc%%%  w גࣜձࣾΤϒϦʔॴଐ w

    %&-*4),*5$)&/σʔλ෼ੳܥશൠ୲౰ ओʹ෼ੳج൫ɺ഑৴໘࠷దԽͳͲΛ୲౰
  2. ͦ΋ͦ΋ͲͷΑ͏ͳ໰୊͕͋ͬͨͷ͔ XJUIMPH"4  4&-&$5 VTFS@JE  QMBUGPSN   

    4&-&$5 WBMVFTUSJOH@WBMVF '30. 6//&45 FWFOU@QBSBNT  8)&3& LFZ3FDJQF*% "4SFDJQF@JE@TUS    4&-&$5 WBMVFJOU@WBMVF '30. 6//&45 FWFOU@QBSBNT  8)&3& LFZ3FDJQF*% "4SFDJQF@JE@JOU    4&-&$5 WBMVFEPVCMF@WBMVF '30. 6//&45 FWFOU@QBSBNT  8)&3& LFZ4FDPOET "4TFDPOET  6/*9@4&$0/%4 5*.&45".1@.*$304 FWFOU@UJNFTUBNQ  "4UJNF '30. AGPPBOBMZUJDT@FWFOUT@A"4EBUB 8)&3& FWFOU@OBNF7JFXFE7JEFP  CBTF"4  4&-&$5 $"4& 8)&/QMBUGPSN*045)&/$"45 SFDJQF@JE@TUS"4 */5  &-4&SFDJQF@JE@JOU &/%"4SFDJQF@JE  TFDPOET '30. MPH  R"4  4&-&$5 SFDJQF@JE  DPVOU  BTSBUJOH '30. CBTF 8)&3& TFDPOET (3061#:   4&-&$5 DBTU SFDJQF@JEBTTUSJOH BTSFDJQF@JE  SBUJOH '30. R ඵࢹௌ͞Εͨಈըͷ֤߹ܭճ਺Λऔಘ͍ͨ͠৔߹
  3. ͦ΋ͦ΋ͲͷΑ͏ͳ໰୊͕͋ͬͨͷ͔ ඵࢹௌ͞Εͨಈըͷ֤߹ܭճ਺Λऔಘ͍ͨ͠৔߹ XJUIMPH"4  4&-&$5 VTFS@JE  QMBUGPSN  

     4&-&$5 WBMVFTUSJOH@WBMVF '30. 6//&45 FWFOU@QBSBNT  8)&3& LFZ3FDJQF*% "4SFDJQF@JE@TUS    4&-&$5 WBMVFJOU@WBMVF '30. 6//&45 FWFOU@QBSBNT  8)&3& LFZ3FDJQF*% "4SFDJQF@JE@JOU    4&-&$5 WBMVFEPVCMF@WBMVF '30. 6//&45 FWFOU@QBSBNT  8)&3& LFZ4FDPOET "4TFDPOET  6/*9@4&$0/%4 5*.&45".1@.*$304 FWFOU@UJNFTUBNQ "4UJNF '30. AGPPBOBMZUJDT@FWFOUT@A"4EBUB 8)&3& FWFOU@OBNF7JFXFE7JEFP  CBTF"4  4&-&$5 $"4& 8)&/QMBUGPSN*045)&/$"45 SFDJQF@JE@TUS"4*/5  &-4&SFDJQF@JE@JOU &/%"4SFDJQF@JE  TFDPOET '30. MPH  R"4  4&-&$5 SFDJQF@JE  DPVOU  BTSBUJOH '30. CBTF 8)&3& TFDPOET (3061#:   4&-&$5 DBTU SFDJQF@JEBTTUSJOH BTSFDJQF@JE  SBUJOH '30. R ࣮ߦ݁Ռ SFDJQF@JESBUJOH
  4. ͦ΋ͦ΋ͲͷΑ͏ͳ໰୊͕͋ͬͨͷ͔ XJUIMPH"4  4&-&$5 VTFS@JE  QMBUGPSN   

    4&-&$5 WBMVFTUSJOH@WBMVF '30. 6//&45 FWFOU@QBSBNT  8)&3& LFZ3FDJQF*% "4SFDJQF@JE@TUS    4&-&$5 WBMVFJOU@WBMVF '30. 6//&45 FWFOU@QBSBNT  8)&3& LFZ3FDJQF*% "4SFDJQF@JE@JOU    4&-&$5 WBMVFEPVCMF@WBMVF '30. 6//&45 FWFOU@QBSBNT  8)&3& LFZ4FDPOET "4TFDPOET  6/*9@4&$0/%4 5*.&45".1@.*$304 FWFOU@UJNFTUBNQ  "4UJNF '30. AGPPBOBMZUJDT@FWFOUT@A"4EBUB 8)&3& FWFOU@OBNF7JFXFE7JEFP  CBTF"4  4&-&$5 $"4& 8)&/QMBUGPSN*045)&/$"45 SFDJQF@JE@TUS"4 */5  &-4&SFDJQF@JE@JOU &/%"4SFDJQF@JE  TFDPOET '30. MPH  R"4  4&-&$5 SFDJQF@JE  DPVOU  BTSBUJOH '30. CBTF 8)&3& TFDPOET (3061#:   4&-&$5 DBTU SFDJQF@JEBTTUSJOH BTSFDJQF@JE  SBUJOH '30. R Ϩγϐ*% J04CJU୺຤͸ɺ4USJOHܕ ඵࢹௌ͞Εͨಈըͷ֤߹ܭճ਺Λऔಘ͍ͨ͠৔߹ Ϩγϐ*% ͦΕҎ֎ͷ୺຤͸ɺ*/5ܕ
  5. XJUIMPH"4  4&-&$5 VTFS@JE  QMBUGPSN    4&-&$5

    WBMVFTUSJOH@WBMVF '30. 6//&45 FWFOU@QBSBNT  8)&3& LFZ3FDJQF*% "4SFDJQF@JE@TUS    4&-&$5 WBMVFJOU@WBMVF '30. 6//&45 FWFOU@QBSBNT  8)&3& LFZ3FDJQF*% "4SFDJQF@JE@JOU    4&-&$5 WBMVFEPVCMF@WBMVF '30. 6//&45 FWFOU@QBSBNT  8)&3& LFZ4FDPOET "4TFDPOET  6/*9@4&$0/%4 5*.&45".1@.*$304 FWFOU@UJNFTUBNQ  "4UJNF '30. AGPPBOBMZUJDT@FWFOUT@A"4EBUB 8)&3& FWFOU@OBNF7JFXFE7JEFP  ͦ΋ͦ΋ͲͷΑ͏ͳ໰୊͕͋ͬͨͷ͔ CBTF"4  4&-&$5 $"4& 8)&/QMBUGPSN*045)&/$"45 SFDJQF@JE@TUS"4 */5  &-4&SFDJQF@JE@JOU &/%"4SFDJQF@JE  TFDPOET '30. MPH  R"4  4&-&$5 SFDJQF@JE  DPVOU  BTSBUJOH '30. CBTF 8)&3& TFDPOET (3061#:   4&-&$5 DBTU SFDJQF@JEBTTUSJOH BTSFDJQF@JE  SBUJOH '30. R 42-্Ͱ਺஋ܕʹม׵ 4USJOH*/5 ඵࢹௌ͞Εͨಈըͷ֤߹ܭճ਺Λऔಘ͍ͨ͠৔߹
  6. 4&-&$5 SFDJQF@JE  DPVOU  BTSBUJOH '30. WJFXFE@WJEFP 8)&3& FWFOU@EBUF

     "/%TFDPOET (3061#:  4QBSLͰ&5-Λ͢Δ͜ͱͰؔ৺ࣄʹूதՄೳʹ w ܕม׵ෆཁ w ໊લม׵ෆཁ ඵࢹௌ͞Εͨಈըͷ֤߹ܭճ਺Λऔಘ͍ͨ͠৔߹ ؔ৺ͷ෼཭
  7. $ % " # ' Ћ Ћ Ћ Ћ &

    " # $ % & ' ܕม׵ʢ&5-ʣΠϝʔδਤ Ϩίʔυ ஋ ςʔϒϧ" ຌྫ ςʔϒϧ# ςʔϒϧ$ #` # "730 1MB[NB%# 3FETIJGU
  8. $ % " # ' Ћ # "730 WBMSFDPSETQBSLSFBE GPSNBU

    DPNEBUBCSJDLTTQBSLBWSP  MPBE HTGPP    BWSP  DBDIF SFDPSEDSFBUF0S3FQMBDF5FNQ7JFX EBUB  WBMEBUBTQBSLTRM  4&-&$5 UP@KTPO FWFOU@QBSBNT "4SFDPSE ུ '30. EBUB   DBDIF 4QBSL42- %BUB'SBNF '30.Ͱݺͼग़͠Մೳʹ &YUSBDUϑΣʔζ
  9. \ FWFOU@OBNFGPP  FWFOU@QBSBNT\ FMFNFOU< \ LFZ6TFS*%  WBMVF\ TUSJOH@WBMVF

     JOU@WBMVFOVMM  qPBU@WBMVFOVMM  EPVCMF@WBMVFOVMM ^ ^  লུ > ^ ^ WBMEBUBTQBSLTRM  4&-&$5 UP@KTPO FWFOU@QBSBNT "4SFDPSE ུ '30. EBUB   DBDIF 4QBSL42- 5SBOTGPSNϑΣʔζ +40/จࣈྻ
  10. \ FWFOU@OBNFGPP  FWFOU@QBSBNT\ FMFNFOU< \ LFZ6TFS*%  WBMVF\ TUSJOH@WBMVF

     JOU@WBMVFOVMM  qPBU@WBMVFOVMM  EPVCMF@WBMVFOVMM ^ ^  লུ > ^ ^ ܕ৘ใ͕+40/ͷΩʔͰఆٛ͞Ε͍ͯΔ *%ܥ͸TUSJOHͱJOU͕ࠞࡏ͢Δ ɹCJU04ʹىҼ͢Δॾࣄ৘ +40/͸׬શʹܕ৘ใΛอ࣋Ͱ͖ͳ͍ҝɺ 'JSFCBTF͸ΩʔͰϝλ৘ใΛอ͍࣋ͯ͠Δɻ ͜Ε͕42-ΛෳࡶԽ͢ΔཁҼɻ 5SBOTGPSNϑΣʔζ
  11. \ FWFOU@OBNFGPP  VTFS@JE  OBNFCBS ^ 5SBOTGPSN \ FWFOU@OBNFGPP

     FWFOU@QBSBNT\ FMFNFOU< \ LFZ6TFS*%  WBMVF\ TUSJOH@WBMVF  JOU@WBMVFOVMM  qPBU@WBMVFOVMM  EPVCMF@WBMVFOVMM ^ ^  লུ > ^ ^ 5SBOTGPSNϑΣʔζ 'MBUUFO+40/
  12. \ FWFOU@OBNFGPP  VTFS@JE  OBNFCBS ^ 5SBOTGPSNϑΣʔζ 5SBOTGPSN Լهͷม׵Λ࣮ߦ͍ͯ͠Δ

    LFZͷ஋ 6TFS*%ʣΛεωʔΫέʔεԽͯ͠LFZԽ WBMVFTUSJOH@WBMVFͷ஋Λ*OUԽͯ͠WBMVFԽ 5SBOTGPSN \ FWFOU@OBNFGPP  FWFOU@QBSBNT\ FMFNFOU< \ LFZ6TFS*%  WBMVF\ TUSJOH@WBMVF  JOU@WBMVFOVMM  qPBU@WBMVFOVMM  EPVCMF@WBMVFOVMM ^ ^  লུ > ^ ^ 'MBUUFO+40/
  13. \ FWFOU@OBNFGPP  VTFS@JE  OBNFCBS ^ 5SBOTGPSNϑΣʔζ 'MBUUFO+40/ FWFOU@OBNF4USJOH

    VTFS@JE-POH OBNF4USJOH 4USVDU5ZQF %BUB'SBNF FWFOU@OBNF VTFS@JE OBNF GPP  CBS
  14. 5SBOTGPSNϑΣʔζ JNQPSUQBSTFS@ WBMVEG5ZQF1BSTFS 4USJOH4FR<5ZQF%FUFDUPS>  KTPO4USJOH4USJOH \ 5ZQF1BSTFS KTPO4USJOH ղੳϩδοΫͷ࣮ଶ

    ^ TRM$POUFYUVEGSFHJTUFS UZQF@QBSTFS VEG5ZQF1BSTFS  DBTFDMBTT5ZQF%FUFDUPS PSJHJO@LFZ4USJOH  OPSNBMJ[F@LFZ4USJOH  TOBLF@LFZ4USJOH  DBNFM@LFZ4USJOH  LFZ@UZQF4USJOH  LFZ@UZQF@QSJPSJUZ4USJOH  4QBSL42- 6%' ܕ৘ใಉఆΫϥεͷ࡞੒ 4QBSL42-ͷ6%'Λར༻͢Δ ߏ଄ղੳ࣌ʹΩʔͷ໊લέʔεܕ৘ใΛղੳ͢Δ 1BSTFS಺෦Ͱ͸$JSDFΛར༻ͯ͠ม׵Λߦ͍ͬͯΔ ίʔυ͸ൈਮ
  15. 5SBOTGPSNϑΣʔζ WBMEFUFDUPS4FR<5ZQF%FUFDUPS>TQBSLTRM  8*5)B"4  4&-&$5 UP@KTPO QBSBNT "4DPM 

    FWFOU@OBNF '30. EBUB  C"4  4&-&$5 FYQMPEF  UZQF@QBSTFS DPM   "4DPM '30. B 4&-&$5DPM'30.C   BT<5ZQF%FUFDUPS> DPMMFDU 4QBSL42- 4QBSL42-ͰܕσʔλΛऔಘ͢Δ +40/4USJOHԽ ܕͷੜ੒ 4DBMBͷܕʹม׵
  16. 5SBOTGPSNϑΣʔζ JNQPSUQBSTFS@ WBMEFUFDUPS4FR<5ZQF%FUFDUPS>ུ WBMFWFOU1BSTFS 4USJOH4USJOH  KTPO4USJOH4USJOH \ ύʔαʔͷ࣮૷ &WFOU1BSTFS

    KTPO4USJOH 5ZQF%FUFDUPST EFUFDUPS  ^ TRM$POUFYUVEGSFHJTUFS FWFOU@QBSTF FWFOU1BSTFS  +40/4USJOHΛ'MBUUFOʢܕͱ໊ΛدͤΔʣ͢Δ ࣄલʹੜ੒ͨ͠ΠϯελϯεΛ6%'ʹ༩͑Δࣄ͕Մೳ 6%'Λ૊Έ߹ΘͤΔ͜ͱ΋Մೳ WBMSFDPSETQBSLTRM  TFMFDUFWFOU@QBSTF UP@KTPO QBSBNT BTSFDPSEGSPNEBUB  ίʔυ͸ൈਮ
  17. +40/4USJOHΛ'MBUUFOʢܕͱ໊ΛدͤΔʣ͢Δ 5SBOTGPSNϑΣʔζ \ FWFOU@OBNFGPP  VTFS@JE  OBNFCBS ^ \

    FWFOU@OBNFGPP  FWFOU@QBSBNT\ FMFNFOU< \ LFZ6TFS*%  WBMVF\ TUSJOH@WBMVF  JOU@WBMVFOVMM  qPBU@WBMVFOVMM  EPVCMF@WBMVFOVMM ^ ^  লུ > ^ ^ 5SBOTGPSN ͜ͷ࣌఺Ͱ͸4USJOHͷͨΊɺ ͦͷ··ΫΤϦ͕࣮ߦͰ͖ͳ͍ ྻ໊SFDPSEɿ4USJOHܕ
  18. +40/4USJOHΛ%BUB'SBNFʹม׵͢Δ +40/4USJOH%BUB'SBNFͰΫΤϦՄೳʹ 5SBOTGPSNϑΣʔζ WBMEBUB4FU%BUB4FU<4USJOH>SFDPSE SEE NBQ @HFU4USJOH   UP%4

    +40/ͷ%BUB4FU͔Β%BUB'SBNFʹม׵ WBMTUSVDUFE+TPO%BUB'SBNF TRM$POUFYUSFBEKTPO EBUB4FU  TUSVDUFE+TPODSFBUF0S3FQMBDF5FNQ7JFX SFDPSET  WBMSFHJTUFS%BUBTQBSLTRM  TFMFDUOBNF VTFS@JE FWFOU@OBNFGSPNSFDPSET  FWFOU@OBNF VTFS@JE OBNF GPP  CBS %BUB'SBNF 3%%%BUB4FU%BUB'SBNF
  19. -PBEϑΣʔζ WBMSFHJTUFS%BUBTQBSLTRM  TFMFDUOBNF VTFS@JE FWFOU@OBNFGSPNSFDPSET  SFHJTUFS%BUB XSJUF GPSNBU

    DPNEBUBCSJDLTTQBSLSFETIJGU  PQUJPO VSM KECD6SM  PQUJPO UFNQEJS UFNQ%JS  PQUJPO ECUBCMF SFETIJGU5BCMF  PQUJPO BXT@JBN@SPMF BSOBXTJBNGPPSPMFCBS  TBWF 3FETIJGU
  20. XJUIMPH"4  4&-&$5 VTFS@JE  QMBUGPSN    4&-&$5

    WBMVFTUSJOH@WBMVF '30. 6//&45 FWFOU@QBSBNT  8)&3& LFZ3FDJQF*% "4SFDJQF@JE@TUS    4&-&$5 WBMVFJOU@WBMVF '30. 6//&45 FWFOU@QBSBNT  8)&3& LFZ3FDJQF*% "4SFDJQF@JE@JOU    4&-&$5 WBMVFEPVCMF@WBMVF '30. 6//&45 FWFOU@QBSBNT  8)&3& LFZ4FDPOET "4TFDPOET  6/*9@4&$0/%4 5*.&45".1@.*$304 FWFOU@UJNFTUBNQ "4UJNF '30. AGPPBOBMZUJDT@FWFOUT@A"4EBUB 8)&3& FWFOU@OBNF7JFXFE7JEFP  CBTF"4  4&-&$5 $"4& 8)&/QMBUGPSN*045)&/$"45 SFDJQF@JE@TUS"4*/5  &-4&SFDJQF@JE@JOU &/%"4SFDJQF@JE  TFDPOET '30. MPH  R"4  4&-&$5 SFDJQF@JE  DPVOU  BTSBUJOH '30. CBTF 8)&3& TFDPOET (3061#:   4&-&$5 DBTU SFDJQF@JEBTTUSJOH BTSFDJQF@JE  SBUJOH '30. R ࣮ߦ̨̡̦ͷൺֱ 4&-&$5 SFDJQF@JE  DPVOU  BTSBUJOH '30. WJFXFE@WJEFP 8)&3& FWFOU@EBUF "/%TFDPOET (3061#:   ߦߦ #2Ͱ΋୹͘͢Δ͜ͱ͸ՄೳͰ͢ʢ೦ͷͨΊʣ