Sparkでのプログラミング
Sparkがサポートする言語
Sparkでは、以下の4つの言語がサポートされています。
- Scala
- Python
- Java
- R
また、以後の連載で触れますが、SparkではHiveメタストアを利用したSQLを扱うこともできます。
Sparkでもっとも利用されている言語はScalaで、次にPython、SQL、Java、Rと並びます(注1)。Sparkを利用する際、最も使いやすい言語を選択できますが、注意点として、Python、Rを利用する場合は一部APIが未実装のものがあります(注2)。利用する機能がPythonやRでサポートされているかは公式のドキュメントを参照しましょう。
本連載では人気の高いScala、Pythonを主に扱い、一部Rでの記述を紹介していきます。
注1
Spark Survey Report 2015 @databricksより。
注2
Apache Spark v1.6.1当時。
Sparkの実行とHelloWorld
ここからはSparkのインタラクティブシェルを用いて、実際にSpark上でのプログラミングを体験していきます。
まずSparkを起動しましょう。Scala、Python、Rを利用する場合で、起動するインタラクティブシェルがそれぞれ異なります。
Scalaのインタラクティブシェルの起動
spark-shell
spark-shell.cmd
補足
spark-shell.cmdを実行するWindowsのコマンドプロンプトは管理者権限で起動されている必要があります。
コマンドラインから上記コマンドを実行すると、Sparkのインタラクティブシェルが実行されます。下記はshark-shell実行時の画像です。

補足
Homebrewを利用してSparkをインストールした環境で、shark-shell起動時に例外が発生する場合は、.bash_profileや.bashrcファイルで、次のように自身のIPを登録してください。
export SPARK_MASTER_IP=127.0.0.1 export SPARK_LOCAL_IP=127.0.0.1
HelloWorldの表示
Sparkのインタラクティブシェルで、ScalaのHelloWorldを表示させてみます。
val test = "hello world" //変数の宣言と値の代入 println(test) //値をconsoleに出力
下記は上記コマンドの実行結果です。

インタラクティブシェルを抜ける場合は、次のように入力します。
exit
Pythonのインタラクティブシェルの起動
pyspark
pyspark.cmd
コマンドラインから上記コマンドを実行すると、Sparkのインタラクティブシェルが実行されます。下記はpyspark実行時の画像です。

HelloWorldの表示
SparkのインタラクティブシェルでPythonのHelloWorldを表示させてみます。
test = "hello world" #変数の宣言と値の代入 print test #値をconsoleに出力
上記コマンドを実行すると、下図のようになります。

インタラクティブシェルを抜ける場合は、次のように入力します。
exit()
【PR】

この記事は参考になりましたか?
- ゼロからはじめるSparkアプリケーション入門連載記事一覧
-
- Sparkの主な拡張コンポーネントの紹介と、SparkSQLを利用した簡単な分析
- Sparkアプリケーションの基本と、はじめに押さえておきたい重要な概念
- この記事の著者
-
田中 裕一(日本アイ・ビー・エム株式会社)(タナカ ユウイチ)
Web系・広告系企業にて、Hadoop/Spark/Kafka等Hadoopエコシステムを利用した広告システム(DMP)・行動分析基盤・レコメンド基盤の全体アーキテクチャ設計やプログラミング、最適化、行動解析を担当。Spark/Hadoopエコシステムを筆頭にOSSを組み合わせた大規模なアーキテクチ...
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア
