Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

PySpark入門1

13,772 views

Published on

PySpark入門として、2014年11月06日に株式会社ALBERTで開催した社内勉強会で利用したスライドです。
PySparkのインストール方法、簡単な使い方、IPythonからPySparkをinteractive modeで触ってみるところまでを紹介しています。

Published in: Technology

PySpark入門1

  1. 1. 1Z4QBSLⰅꟌ !JLUBLBIJSP寑ⰻ㷀㉔
  2. 2. 荈䊹稱➜ ˖ 寑ⰻ㷀㉔5BLBIJSP*LFVDIJ ˖ 吳䒭⠓爡-#35㛁遤䕵㆞ ˖ !JLUBLBIJSP ˖ IUUQMJCSBCVDIKQ ˖ 1ZUIPO 84 3FETIJGU ,JOFTJTFUD 2
  3. 3. HFOEB ˖ QBDIF4QBSLהכ 3 ˖ 1Z4QBSLהכ ˖ 1Z4QBSL׾⹛ַ׃ג׫׷ ˖ *1ZUIPOד1Z4QBSL ˖ 1Z4QBSLד.-MJCׁ׻׶׌ֽ
  4. 4. QBDIF4QBSLהכ 4
  5. 5. QBDIF4QBSLהכ ˖ 傀ח׋ֻׁ׿铂׵׸גְ׷ךד鑫稢כ ⶴ䠥׃תָׅְֹז׶ ˖ ؎ًٌٝٔד넝鸞חⴓ侔Ⳣ椚ָ遤ִ׷ ؿٖ٦يٙ٦ؙד ˖ .-MJCהְֲ堣唒㷕统ٓ؎ـָٓٔ ⵃ欽דֹ׋׶׃ג葿ղ䎊ׇ׫׋ְדׅ 5
  6. 6. -#35ؒٝآص،ـؚٗˑ4QBSL˒ ˖ IUUQUFDIBMCFSUDPKQ T4QBSL ˖ .-MJCך鑧겗׾⚥䗰ח《׶䪔׏גְ׷ך ד僽ꬊ׀׵׿ֻ׌ְׁ 6
  7. 7. 㹑⠗ֶ׻׶ 7
  8. 8. 1Z4QBSLהכ 8
  9. 9. 1Z4QBSLהכ ˖ 4QBSL׾㹋遤ׅ׷׋׭ך1ZUIPO1* ˖ 禸חכ劢㼎䘔זךדֶהז׃ֻ דⵃ欽׃ת׃׳ֲկ 9
  10. 10. 1Z4QBSL3FGFSFODF ˖ 1*%PDT IUUQTTQBSLBQBDIFPSHEPDTBQJ QZUIPOJOEFYIUNM ˖ 4QBSLYBNQMF IUUQTTQBSLBQBDIFPSHFYBNQMFTIUNM 10
  11. 11. 1Z4QBSLך岣䠐 ˖ 儗挿דכ⟃♴ך岣䠐剅ָֹկ ˑ1Z4QBSLEPFTOPUZFUTVQQPSUBGFX1*DBMMT TVDIBTMPPLVQBOEOPOUFYUJOQVU MFT UIPVHI UIFTFXJMMCFBEEFEJOGVUVSFSFMFBTFT˒ ˖ ך3FGFSFODFח׮˒UIJTJTOPUZFU TVQQPSUFEJO1ZUIPO˒瘝ך鎸鯹ָ֮׶⢪ִ זְ堣腉ְָֻאַ֮׶׉ֲկ 11
  12. 12. 1Z4QBSL׾⹛ַ׃ג׫׷ 12
  13. 13. 1Z4QBSLֶ䩛鯪㹋遤倯岀 ˖ 4QBSLךCJO⟃♴חQZTQBSLהְֲ ؿ؋؎ָٕⰅ׏גְתׅկ ֿך⚥魦כ׋׌ךTIFMMTDSJQU ˖ QZTQBSL׾㹋遤ׅ׷הJOUFSBDUJWF NPEFד1Z4QBSL׾饯⹛דֹתׅկ ˖ QZTQBSLDNEָ♧筰ח֮׷ךד 8JOEPXTד׮ֹ׏ה⹛ֻկ 13
  14. 14. UJNFTUBNQדֿך项俱⡲׏ג׷儗꟦ָל׸׉ֲ 14
  15. 15. ׉׮׉׮4QBSL׾㼪Ⰵׅ׷חכ ˖ ְֻא׮倯岀ָ֮׶תָׅծ%PDLFS ך؎ً٦آQVMMָ׋ע׿嚂կ $ docker pull sequenceiq/spark:1.1.0 $ docker run -i -t -h sandbox sequenceiq/spark /etc/bootstrap.sh -bash 15
  16. 16. ˖ UH[ַ׵CVJME׮ꨇ׃ֻזְדָׅծ وءٝػٙ٦ָזְהַז׶儗꟦ָ ַַ׶תׅկ $ curl -O http://d3kbcqa49mib13.cloudfront.net/spark-1.1.0.tgz $ export MAVEN_OPTS=-Xmx2g -XX:MaxPermSize=1024M -XX:ReservedCodeCacheSize=1024m” $ mvn -DskipTests clean package 16
  17. 17. sc.parallelize(range(1000)).count() 17 ˖ ⹛ַ׃ג׫׷
  18. 18. ז׿ַ邌爙ׁ׸ג 剑䖓חה⳿ג׸ל《׶侒ִ׆⹛ְגְ׷ 18
  19. 19. *1ZUIPOד1Z4QBSL 19
  20. 20. ֶׁ׵ְ*1ZUIPOהכ ˖ 1ZUIPOך䓼⸂זJOUFSBDUJWF橆㞮 ˖ 酡㸣׃׋׶㢌侧ך⚥׾鋖ְ׋׶ ˖ 4IFMMה1ZUIPO׾ء٦يٖأח乼⡲ דֹ׋׶׃ג⡦ַה⤑ⵃ 20
  21. 21. ˖ ـٓؐؠ♳ד1ZUIPO׾㹋遤דֹ׷ OPUFCPPL堣腉ָ暴ח➂孡 ˖ 1Z$PO+1ד׮㢳ֻך➂ָ *1ZUIPOדفٖئٝ׾׃גְת׃׋կ ipython notebook --matplotlib inline 21
  22. 22. 22
  23. 23. JOUFSBDUJWFח1Z4QBSL׾鍗׷ז׵ וֲׇז׵*1ZUIPO
  24. 24. OPUFCPPL ָ ְְ״י٦הְֲֿהד 鸬⤘ׇׁג׫ת׃׳ֲ 23
  25. 25. QSPMFך⡲䧭ה箟꧊ $ ipython profile create pyspark $ vim ~/.ipython/profile_pyspark/ipython_notebook_config.py ˖ ֿֿכ鸐䌢ך*1ZUIPOך鏣㹀ד0, IUUQJQZUIPOPSHJQZUIPOEPDEFWDPOHJOUSPIUNM 24
  26. 26. 4QBSL欽鏣㹀ؿ؋؎ٕך⡲䧭 $ vim ~/.ipython/profile_pyspark/startup/00-pyspark-setup.py ˖ ⢽ה׃ג♴鎸ך״ֲח鎸鯹׃תׅկ 25 import os import sys os.environ[‘SPARK_HOME’] = ‘/usr/local/spark-1.1.0/‘ sys.path.insert(0, ‘/usr/local/spark-1.1.0/python’) CLUSTER_URL = ‘local’
  27. 27. *1ZUIPOך㹋遤 $ ipython notebook —profile=pyspark OR $ IPYTHON_OPTS=notebook ./pyspark ˖ 饯⹛䖓כ鸐䌢ך*1ZUIPOOPUFCPPLהずׄדׅ 26
  28. 28. )FMMP8PSME涸ז⡦ַ # dict.txt から Bill が含まれる行を抽出する words = sc.textFile('/tmp/dict.txt') for word in words.filter(lambda w: 'Bill' in w).take(7): print(word) 27 # dict.txt Bill Nighy Keira Knightley Bill Cosby Rachel McAdams
  29. 29. 㹋遤穠卓 28
  30. 30. # dict.txt から Bill が含まれる行を抽出する words = sc.textFile('/tmp/dict.txt') for word in words.filter(lambda w: 'Bill' in w).take(7): print(word) ˖ UBLF ׏גזח 3%%$MBTTך*OTUBODF.FUIPE IIUUQTTQBSLBQBDIFPSHEPDTBQJQZUIPOQZTQBSLSEE3%% DMBTTIUNMUBLF ˖ 3%%ַ׵䭷㹀׃׋侧ך銲稆׾《׶⳿ׅ 29 ˖ STU הַ׮֮׷
  31. 31. 3%%חאְג⿫罋חז׶׉ֲז 葺颵זسًُؗٝز׋׍ ˖ 锷俑 IUUQXXXDTCFSLFMFZFEV_NBUFJQBQFST OTEJ@TQBSLQEG ˖ 4QBSLQBDIF4QBSL׏גו׿ז׮ךַ鋅ג׫׷ ׉ך IUUQEIBUFOBOFKQLJNVUBOTL ˖ QBDIF4QBSLך׀稱➜䖓⼱䪮遭زؾحؙ IUUQXXXTMJEFTIBSFOFUIBEPPQYOUUEBUB BQBDIFTQBSL 30
  32. 32. 1Z4QBSLד.-MJC 31
  33. 33. QZTQBSLNMMJC from pyspark.mllib.classification import NaiveBayesMode # 流れというか使い方の雰囲気はこんな感じ model = NaiveBayes.train(sc.parallelize(train_data)) model.predict(features) 32
  34. 34. ˖ QZTQBSLNMMJC IUUQTTQBSLBQBDIFPSHEPDTBQJQZUIPOQZTQBSLNMMJC NPEVMFIUNM ˖ 儗挿ד4DBMB+BWBה嫰ץ׷ה 㹋鄲ׁ׸גְזְ׮ךְָֻאַ ֮׷ ˖ 1ZUIPOךEPD׌ֽדכ鳞ְךד植朐 4DBMBEPD׾鋅׷׃ַזׁ׉ֲ 33
  35. 35. ˖ 1ZUIPOך.-MJCך㹋鄲؟ٝفٕ꧊ IUUQTHJUIVCDPNBQBDIFTQBSLUSFFNBTUFS FYBNQMFTTSDNBJOQZUIPONMMJC ؙٙذؕזٌآُ٦ٕך鎸鯹׮˘ GSPNQZTQBSLNMMJCGFBUVSFJNQPSU8PSE7FD 34
  36. 36. ׀꫼耮֮׶ָהֲ׀ְׂת׃׋ חְאַ竲ֻ 35

×