SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

ゼロからはじめるSparkアプリケーション入門

Sparkアプリケーションの基本と、はじめに押さえておきたい重要な概念

ゼロからはじめるSparkアプリケーション入門(1)


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
Windowsの場合
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
Windowsの場合
pyspark.cmd

 コマンドラインから上記コマンドを実行すると、Sparkのインタラクティブシェルが実行されます。下記はpyspark実行時の画像です。

HelloWorldの表示

 SparkのインタラクティブシェルでPythonのHelloWorldを表示させてみます。

test = "hello world"    #変数の宣言と値の代入
print test                #値をconsoleに出力

 上記コマンドを実行すると、下図のようになります。

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

exit()

【PR】

次のページ
SparkでCSVファイルの解析をやってみよう

この記事は参考になりましたか?

ゼロからはじめるSparkアプリケーション入門連載記事一覧
この記事の著者

田中 裕一(日本アイ・ビー・エム株式会社)(タナカ ユウイチ)

Web系・広告系企業にて、Hadoop/Spark/Kafka等Hadoopエコシステムを利用した広告システム(DMP)・行動分析基盤・レコメンド基盤の全体アーキテクチャ設計やプログラミング、最適化、行動解析を担当。Spark/Hadoopエコシステムを筆頭にOSSを組み合わせた大規模なアーキテクチ...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/9347 2016/07/04 13:54

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー