35

PySpark入門1

Embed Size (px)

DESCRIPTION

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

Citation preview

Page 1: PySpark入門1
Page 2: PySpark入門1

2

Page 3: PySpark入門1

3

Page 4: PySpark入門1

4

Page 5: PySpark入門1

5

Page 6: PySpark入門1

6

Page 7: PySpark入門1

7

Page 8: PySpark入門1

8

Page 9: PySpark入門1

9

Page 10: PySpark入門1

10

Page 11: PySpark入門1

11

Page 12: PySpark入門1

12

Page 13: PySpark入門1

13

Page 14: PySpark入門1

14

Page 15: PySpark入門1

15

$ docker pull sequenceiq/spark:1.1.0 $ docker run -i -t -h sandbox sequenceiq/spark \ /etc/bootstrap.sh -bash

Page 16: PySpark入門1

$ 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

Page 17: PySpark入門1

sc.parallelize(range(1000)).count()

17

Page 18: PySpark入門1

18

Page 19: PySpark入門1

19

Page 20: PySpark入門1

20

Page 21: PySpark入門1

21

ipython notebook --matplotlib inline

Page 22: PySpark入門1

22

Page 23: PySpark入門1

23

Page 24: PySpark入門1

$ ipython profile create pyspark $ vim ~/.ipython/profile_pyspark/ipython_notebook_config.py

24

Page 25: PySpark入門1

$ 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’

Page 26: PySpark入門1

$ ipython notebook —profile=pyspark OR $ IPYTHON_OPTS="notebook" ./pyspark

26

Page 27: PySpark入門1

# 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

Page 28: PySpark入門1

28

Page 29: PySpark入門1

# dict.txt から Bill が含まれる行を抽出する

words = sc.textFile('/tmp/dict.txt') for word in words.filter(lambda w: 'Bill' in w).take(7): print(word)

29

Page 31: PySpark入門1

31

Page 32: PySpark入門1

from pyspark.mllib.classification import NaiveBayesMode

# 流れというか使い方の雰囲気はこんな感じ

model = NaiveBayes.train(sc.parallelize(train_data)) model.predict(features)

32

Page 33: PySpark入門1

33

Page 34: PySpark入門1

34

Page 35: PySpark入門1

35