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

分析前処理で手軽に並列処理するために守っておくと良いこと

yasubei
June 15, 2019

 分析前処理で手軽に並列処理するために守っておくと良いこと

1. 対象者
2. 守ると良いルール
3. 集計処理をapply()で組んでおく
4. アウトプット先は分割しておく
5. 行単位の並列化はdaskを使う
6. 大きな単位の並列化はjoblibを使う
7. デモ(時間があれば)
8. まとめ

yasubei

June 15, 2019
Tweet

More Decks by yasubei

Other Decks in Science

Transcript

  1. ࠓ ि ͷ Θ ͔ Β Μ ઌ ੜ Ϛϧνϓϩηε

    ॲཧ͕ Θ͔ΒΜ 1Z%BUB0LJOBXBΦʔΨφΠβʔ ΍͢΂͐
  2. ࣗݾ঺հ :BTVCFJ ΍͢΂͐ ZBTVCFJUXJ ZBTVIBSVTV[VLJ IUUQTIVHLVODPN ΤϯδχΞͰ͢ɻ ࡳຈͰήʔϜ։ൃ೥ɹˠɹԭೄͰ*P5 8&#։ൃ ෼ੳͳͲΛ೥

    )VHLVOͱ)VHLVO%BUBͱ͍͏ձࣾ΍ͬͯ·͢ɻ اۀ͞Μͱֶੜ͞ΜͱҰॹʹ࢓ࣄͯ͠8JO8JO8JOͳؔ܎Λங͘ͷ͕޷͖Ͱ͢ɻ ʮ౳෼ͷՖՇʯΛม૷່ͨ͠ͷਖ਼ղΛ౰ͯͳ͕ΒಡΉͷ͕࠷ۙͷϚΠϒʔϜ ΧϥΦέͰ།Ұ๙ΊΒΕͨۂ͸ʮਓੜ͍Ζ͍Ζʯ
  3. :BTVCFJ ΍͢΂͐ ඇಉظϓϩάϥϛϯάͷܦݧ ZBTVCFJUXJ ZBTVIBSVTV[VLJ IUUQTIVHLVODPN ɾֶੜͷ͜ΖόΠτͰϔουϚ΢ϯτσΟεϓϨΠ͔Βͷ৴߸ॲཧΛड৴͢Δ෦෼Λ ɹϚϧνεϨοσΟϯάʢ8JOʣͰهड़ͨ͠ͷ͕࠷ॳ ɹྈੜ׆Ͱྈʹωοτ͕ͳ͘ɺ৘ใऩूʹۤ࿑ͨ͠ ɾ೥͝Ζʹॻ͍ͨωοτରઓ༻ͷϓϩάϥϜ͸$

    Ͱ-JOVY্Ͱ૊ΜͰ·ͨ͠ ɹ΄΅ΦϯϝϞϦͰ௒ߴ଎Ͱͨ͠ ɹฏۉԠ౴଎౓͸NTҎԼ ɾ࠷ۙͰ͸ϏοάσʔλͷલॲཧΛߴ଎Խ͢ΔͨΊʹฒྻԽΛ༻͍Δࣄ͕ଟ͍ ɾԿؾʹKTͰ΋࢖༻ͯ͠·͢Ͷ ɹ7VFKT࢖͏Ҋ͕݅͋Γɺશ෦ͷ"1*ΞΫηε͕ඇಉظ
  4. "HFOEB  ର৅ऀ  कΔͱྑ͍ϧʔϧ  ूܭॲཧΛBQQMZ Ͱ૊ΜͰ͓͘  Ξ΢τϓοτઌ͸෼ׂ͓ͯ͘͠

     ߦ୯ҐͷฒྻԽ͸EBTLΛ࢖͏  େ͖ͳ୯ҐͷฒྻԽ͸KPCMJCΛ࢖͏  σϞʢ͕࣌ؒ͋Ε͹ʣ  ·ͱΊ
  5. ूܭॲཧ͸BQQMZ Ͱ૊ΜͰ͓͘   GPSจʢΞϯνύλʔϯʣ  ॳΊ͔Βʮॏ͘ͳΓͦ͏ͩͳ͊ʯͱࢥ͍ͬͯΔՕॴʹ͸ GPSจ͸࢖Θͳ͍͜ͱʢܰͦ͏ͳͱ͜Ζ͸GPSͰ΋ྑ͍ʣ IPHF@MJTU<> GPSJOEFY

    SPXJOEGJUUFSPXT  IPHF@EBUBԿΒ͔ͷॏ͍ॲཧ IPHF@MJTUBQQFOE IPHF@EBUB   BQQMZจʢྑ͍ύλʔϯʣ  BQQMZʹ͓ͯ͘͜͠ͱࣗମ΋ߴ଎Խʹܨ͕Δ͚Ͳ ͦ΋ͦ΋ฒྻԽ͢Δʹ͸ؔ਺Խ͓ͯ͘͠ͱָ EFGBQQMZ@GVOD SPX  IPHF@EBUBԿΒ͔ͷॏ͍ॲཧ SFUVSOIPHF@EBUB IPHF@MJTUEGBQQMZ BQQMZ@GVOD BYJT  #BE #FUUFS GPSจͷྫ BQQMZจͷྫ ˞͋͘·ͰCFUUFSɻCFTUΛ໨ࢦ͢ʹ͸͍Ζ͍Ζͳ΍Γํ͕͋ Δ͕ɺݸਓతʹ͸࢖͍উखͷྑ͍BQQMZ͕ྑ͍ɻ
  6. ߦ͝ͱͷߴ଎Խ͸EBTLΛ࢖͏   EBTLԽ  ίΞ࢖༻͢ΔEBTL༻%BUB'SBNFΛ࡞੒ JNQPSUEBTLEBUBGSBNFBTEE EEGEEGSPN@QBOEBT EG OQBSUJUJPOT

     EFGBQQMZ@GVOD SPX  IPHF@EBUBԿΒ͔ͷॏ͍ॲཧ SFUVSOIPHF@EBUB IPHF@MJTUEGBQQMZ BQQMZ@GVOD BYJT NFUBܕΛࢦఆ  DPNQVUF TDIFEVMFSQSPDFTTFT  EBTLͷྫ  QBOEBTͷBQQMZΛ࢖༻͢Δྫ  લड़ͷBQQMZͱಉ͡ϓϩάϥϜͰ͢ɻ EFGBQQMZ@GVOD SPX  IPHF@EBUBԿΒ͔ͷॏ͍ॲཧ IPHF@MJTUEGBQQMZ BQQMZ@GVOD BYJT  BQQMZจͷྫ GSPN@QBOEBTͰม׵ͯ͠ BQQMZ ͢Δ͚ͩ
  7. େ͖ͳ୯Ґͷߴ଎Խ͸+PCMJCΛ࢖͏   EBTLԽɹϓϩηεͰॲཧ͠·͢  ίΞ࢖༻͢ΔEBTL༻%BUB'SBNFΛ࡞੒ JNQPSUEBTLEBUBGSBNFBTEE EEGEEGSPN@QBOEBT EG OQBSUJUJPOT

     EFGBQQMZ@GVOD SPX  IPHF@EBUBԿΒ͔ͷॏ͍ॲཧ SFUVSOIPHF@EBUB IPHF@MJTUEGBQQMZ BQQMZ@GVOD BYJT NFUBܕΛࢦఆ  DPNQVUF TDIFEVMFSQSPDFTTFT  EBTLͷྫ  KPCMJCԽYͰϓϩηεͰॲཧ͠·͢  EGΛͭʹ෼ׂ GSPNKPCMJCJNQPSU1BSBMMFM EFMBZFE 4&1"3"5&@$06/5 TFQ@TUFQJOU MFO EG 4&1"3"5&@$06/5   EG@MJTU<> GPSTUFQJOSBOHF  MFO EG TFQ@TUFQ  EG@MJTUBQQFOE EG<TUFQTFQ@TUFQ>  KPCMJC༻ͷؔ਺ఆٛ EFGKPCMJC@GVOD EG  EEGEEGSPN@QBOEBT EG OQBSUJUJPOT  EFGBQQMZ@GVOD SPX  IPHF@EBUBԿΒ͔ͷॏ͍ॲཧ SFUVSOIPHF@EBUB IPHF@MJTUEGBQQMZ BQQMZ@GVOD BYJT NFUBܕΛࢦఆ DPNQVUF TDIFEVMFSbQSPDFTTFT  SFUVSOIPHF@MJTU KPCMJC༻ͷؔ਺ఆٛ GVHB@MJTU1BSBMMFM O@KPCT4&1"3"5&@$06/5 <EFMBZFE KPCMJC@GVOD EG@MJTU<TUFQ> GPSTUFQJO SBOHF  4&1"3"5&@$06/5 > +PCMJCͷྫ एׯख͚ؒͩͲEBTLͷॲཧ͸ ΄΅ྲྀ༻Ͱ͖Δ
  8. େ͖ͳ୯Ґͷߴ଎Խ͸+PCMJCΛ࢖͏  ͬŋТŋ ͬŲƄŖƃ +PCMJC ͬŋТŋ ͬŲƄŖƃ ͬŋТŋ ͬŲƄŖƃ 

                  ͬŋТŋ ͬŋТŋ ͬŋТŋ ͬŋТŋ ͬŋТŋ %BTL
  9. ݱࡏ ະདྷ աڈ       

            େ͖ͳ୯Ґͷߴ଎Խ͸+PCMJCΛ࢖͏  ͭࢠͷ৔߹
  10. ·ͱΊ  ूܭॲཧ͸BQQMZ Ͱ૊ΜͰ͓͘  Ξ΢τϓοτઌ͸෼ׂ͓ͯ͘͠  ߦ͝ͱͷॲཧͷฒྻԽ͸EBTLΛ࢖͏  େ͖ͳ୯ҐͷฒྻԽ͸KPCMJCΛ࢖͏

     ʙ  Λ͓ͯ͘͠ͱ  ͸௨ৗͷ޻਺ͷൣғ಺  ͸ʮͪΐͬͱॲཧ͕ॏͯ͘ฒྻԽதͰ͢ʔʯͱ্࢘ʹݴͬͯ औΓ૊Ί͹ྑ͍಺༰ʢ͍͍ͤͥʙ࣌ؒఔ౓Ͱ࣮૷Ͱ͖Δ ͷͰ͓͢͢Ί