第1回 ``learning spark'' 読書会 第2章 ``downloading spark and getting started

16
1 “Learning Spark” 読書会 Chap. 2: “Downloading Spark and Getting Started” (1) – Spark を導入し、使ってみよう (1) – @data sciesotist 2015/2/28

Upload: sciesotist-data

Post on 18-Jul-2015

799 views

Category:

Data & Analytics


0 download

TRANSCRIPT

Page 1: 第1回 ``Learning Spark'' 読書会 第2章 ``Downloading Spark and Getting Started

第 1回 “Learning Spark” 読書会

Chap. 2: “Downloading Sparkand Getting Started” (1)

– Sparkを導入し、使ってみよう (1) –

@data sciesotist

2015/2/28

Page 2: 第1回 ``Learning Spark'' 読書会 第2章 ``Downloading Spark and Getting Started

1 “In this chapter...”• この章では、1台のPCへのSparkの導入から利用開始までの手順を紹介します• Scala、Java、Pythonについて、基本文法を理解していることが望ましいです• SparkはScalaで書かれており、JVM上で動作するため、Java 6以上が必須です• SparkはPython3では動作しません

……だそうです。1

Page 3: 第1回 ``Learning Spark'' 読書会 第2章 ``Downloading Spark and Getting Started

2 “Downloading Spark” (1)

• 最新のコンパイル済みパッケージをhttps://spark.apache.org/downloads.html

からダウンロードする

• 例えば “Pre-built for Hadoop 2.4 and later”など、適切なバージョンを選択する

• WindowsでSparkを利用する場合、スペースを含まないフォルダ名にする

• もちろんソースからのコンパイルも可能2

Page 4: 第1回 ``Learning Spark'' 読書会 第2章 ``Downloading Spark and Getting Started

3 参考: Sparkサイトからのダウンロード

ftp.riken.jpや ftp.jaist.ac.jpなどのネットワーク的に近いミラーも利用可能3

Page 5: 第1回 ``Learning Spark'' 読書会 第2章 ``Downloading Spark and Getting Started

4 “Downloading Spark” (2)

• アーカイブの中でも特に重要なものは以下■ README.md: 簡単な案内文

■ bin: Sparkの実行ファイルを格納

■ core,streaming,python...:各コンポーネントのソースを格納

■ examples: サンプル集

• 以降、ローカル環境でインタラクティブ処理、バッチ処理の順に使い方を紹介していく

4

Page 6: 第1回 ``Learning Spark'' 読書会 第2章 ``Downloading Spark and Getting Started

5 “Introduction to Spark’s Pythonand Scala Shells”

• シェルを操作してアドホック分析ができる• 大量データへの反復処理、探索的分析を対話的に、高速に実行可能

• シェルの利便性を体感するには、SparkサイトのQuick Start Guideが適している

• シェルを起動するにはbin/pysparkまたはbin/spark-shellとする

5

Page 7: 第1回 ``Learning Spark'' 読書会 第2章 ``Downloading Spark and Getting Started

6 参考: Scalaシェルの起動画面

メッセージが邪魔な場合は 2> /dev/nullとするWindowsでも2> NULとできる

詳細はconf/log4j.propertiesで設定6

Page 8: 第1回 ``Learning Spark'' 読書会 第2章 ``Downloading Spark and Getting Started

7 “Using IPython”

• IPythonは補完などの機能があり多くのユーザーに利用されるPythonシェルの一種

• Sparkで利用するにはIPYTHON環境変数を1に設定する (IPYTHON=1 ./bin/pyspark)

• IPythonノートブックを使うにはIPYTHON OPTS="notebook" ./bin/pyspark

• Windowsではset IPYTHON=1 bin\pyspark

7

Page 9: 第1回 ``Learning Spark'' 読書会 第2章 ``Downloading Spark and Getting Started

8 “Example 2-1. Python line count”

# RDDsの作成>>> lines=sc.textFile("README.md")

# 行数のカウント>>> lines.count()

# 1つ目の要素 (1行目を出力)>>> lines.first()

8

Page 10: 第1回 ``Learning Spark'' 読書会 第2章 ``Downloading Spark and Getting Started

9 参考: IPythonノートブックの利用

http://localhost:8888にアクセス

set IPYTHON=1

set IPYTHON_OPTS="notebook"

bin\pyspark

9

Page 11: 第1回 ``Learning Spark'' 読書会 第2章 ``Downloading Spark and Getting Started

10 “Example 2-2. Scala line count”

# RDDsの作成> val lines=sc.textFile("README.md")

# 行数のカウント> lines.count()

# 1つ目の要素 (1行目を出力)> lines.first()

10

Page 12: 第1回 ``Learning Spark'' 読書会 第2章 ``Downloading Spark and Getting Started

11 参考: Spark Web UI

http://localhost:4040にアクセス

11

Page 13: 第1回 ``Learning Spark'' 読書会 第2章 ``Downloading Spark and Getting Started

12 参考: EC2へのデプロイ (1)• EC2にデプロイするためのspark-ec2スクリプトが標準で付属する

• 前提: AWSのアカウントがあり

■ キーペアを作成していること

■ アクセスキーを作成していること

• Bash + Pythonスクリプトなので、Linuxからデプロイするのが楽

12

Page 14: 第1回 ``Learning Spark'' 読書会 第2章 ``Downloading Spark and Getting Started

13 参考: EC2へのデプロイ (2)• m3.largeインスタンス5台

(マスタ1 + スレーブ4) で構成する例

$ ec2/spark-ec2 --help

... ヘルプ表示 ...$ ec2/spark-ec2 -k SparkLab

-i ˜/aws_key/SparkLab.pem

-s 4 -t m3.large

launch SparkLab00

13

Page 15: 第1回 ``Learning Spark'' 読書会 第2章 ``Downloading Spark and Getting Started

14 参考: EC2へのデプロイ (3)

やたらエラーが出るけど、これでよいらしい

スタンドアロンクラスタマネージャのURLが表示される

14

Page 16: 第1回 ``Learning Spark'' 読書会 第2章 ``Downloading Spark and Getting Started

今回はここまで!

15