1. はじめに

本文書は、Spark Summit 2014 Training hands-on exercises, およびAMP Camp 5 - big data bootcampを元に簡易に手順を記述し、自習者がApache Sparkをより簡便に理解する手助けをするための文章です。 元のドキュメントから執筆時のバージョン(1.6.0)に合わせて少し記述を変更している部分があります。本文書は、JDK 8 Update 45(Oracle公式版)、Spark 1.6.0 (2016/2/24時点)を前提に記述されています

1-1. 用意するもの

Linuxマシン:以下の要件を満たしていること 物理でも仮想でも可能

  • CPU: 2core以上(4core以上を推奨)
  • MEM: 4GB以上(6GB以上を推奨)
  • CentOS7以降(x86_64)
  • Java(JDK) 7もしくは8がインストールされていること(JDK 8 Update 60以降を推奨)
  • 【注意】
    • JREはNG。以下のコマンドが正常に完了しない
    • OpenJDKもNG。一見正常に終了するものの個々のトレーニングでは挙動が意図したとおりにならないことが多い。Oracle公式パッケージを使用すること
# yum -y update
# yum -y install wget unzip

最新のJDKパッケージをアップロード
# yum --nogpgcheck localinstall jdk-8u60-linux-x64.rpm

rootから一般ユーザに変更
$ wget http://ftp.riken.jp/net/apache/spark/spark-1.6.0/spark-1.6.0.tgz
$ tar xzvf spark-1.6.0.tgz
$ cd spark-1.6.0
$ build/mvn -Pyarn -Phadoop-2.4 -Dhadoop.version=2.4.0 -DskipTests clean package
(所要時間: 約30~50分)
$ wget https://dl.bintray.com/sbt/native-packages/sbt/0.13.9/sbt-0.13.9.zip
$ unzip sbt-0.13.9.zip
$ cd sbt/bin
$ ln sbt-launch.jar sbt-launch-0.13.9.jar
$ cd ${HOME}/spark-1.6.0/conf
$ cp log4j.properties.template log4j.properties
$ vi log4j.properties
log4j.rootCategory=WARN, console

トレーニング用のデータを用意します
$ cd ${HOME}
$ mkdir training
$ cd training
$ wget http://d12yw77jruda6f.cloudfront.net/ampcamp5-usb.zip
$ unzip ampcamp5-usb.zip
$ wget https://databricks-training.s3.amazonaws.com/training-downloads.zip
$ unzip training-downloads.zip

*SparkRを使う場合はこちらのURLが必要です
$ wget http://d12yw77jruda6f.cloudfront.net/training-downloads.zip 
$ unzip training-downloads.zip

1-2. トレーニングの概要

Sparkの機能についてトレーニングを行います。それぞれの機能を使用するにあたって、以下の言語の知識を必要とします。

Scala Java Python
インタラクティブSpark SQL YES NO YES
Sparkストリーミング YES NO YES
機械学習 - MLlib YES NO YES
グラフ分析 - GraphX YES NO NO
SparkR Rのみ Rのみ Rのみ
Pipeline YES NO NO
Tachyon YES YES NO

それでは実際に個々の機能のトレーニングを始めましょう。 以下の各項目のリンクをクリックすると実際のトレーニングに移動します。 それぞれのトレーニングの分量を参考にしてください。

分量 参考資料
Spark SQL プログラミングガイド
Sparkストリーミング プログラミングガイド
MLlib(機械学習) プログラミングガイド
GraphX(グラフ分析) プログラミングガイド
SparkR
Pipeline
Tachyon プロジェクトサイト

1-3. 本文書について

この文書はAMPLabの原文を元に、AMPLabの許諾の下にクリエーションライン(株)の木内満歳、渡辺冬樹、藤田真太郎が翻訳いたしました。 Githubでのプルリクエストを歓迎いたします。 本文書は、Apache Lisence 2.0 でライセンスしています。