コンテンツへスキップ

SparkR は、R から Spark を使用するための軽量なフロントエンドを提供する R パッケージです。

sparkR のインストール

sparkR のライブラリは $SPARK_HOME/R/lib に作成する必要があります。これは、スクリプト $SPARK_HOME/R/install-dev.sh を実行することで実行できます。デフォルトでは、上記のスクリプトはシステム全体にインストールされた R を使用します。ただし、install-dev.sh スクリプトを実行する前に、R がインストールされているベースディレクトリのフルパスである環境変数 R_HOME を設定することで、ユーザーがインストールした任意の場所に R を変更できます。例:

# where /home/username/R is where R is installed and /home/username/R/bin contains the files R and RScript
export R_HOME=/home/username/R
./install-dev.sh

SparkR の開発

Spark のビルド

Maven または SBT で Spark をビルドし、R パッケージをビルドするには -Psparkr プロファイルを含めます。たとえば、デフォルトの Hadoop バージョンを使用するには、次のように実行できます:

# Maven
./build/mvn -DskipTests -Psparkr package

# SBT
./build/sbt -Psparkr package

sparkR の実行

次のように SparkR シェルを起動して、SparkR の使用を開始できます:

./bin/sparkR

sparkR スクリプトは、デフォルトでローカルモードで Spark を使用して SparkContext を自動的に作成します。自動作成された SparkContext のクラスタの Spark マスターを指定するには、次のように実行できます:

./bin/sparkR --master "local[2]"

ドライバーメモリ、エグゼキュータメモリなどのその他のオプションを設定するには、./bin/sparkRspark-submit 引数を渡すことができます。

RStudio から SparkR を使用する

RStudio から SparkR を使用したい場合は、SparkR ドキュメントを参照してください。

SparkR の変更

Spark への貢献を行うための手順は、SparkR にも適用されます。R ファイルの変更のみを行う場合 (つまり、Scala の変更がない場合) は、R/install-dev.sh を使用して R パッケージを再インストールし、変更をテストできます。変更を加えたら、それらのための単体テストを含め、以下に説明するように R/run-tests.sh スクリプトを使用して既存の単体テストを実行してください。

ドキュメントの生成

SparkR のドキュメント (Rd ファイルおよび HTML ファイル) は、ソースリポジトリの一部ではありません。これらを生成するには、スクリプト R/create-docs.sh を実行できます。このスクリプトは devtoolsknitr を使用してドキュメントを生成します。これらのパッケージは、スクリプトを使用する前にマシンにインストールされている必要があります。また、これらの前提条件をインストールする必要がある場合もあります。また、R/DOCUMENTATION.md も参照してください。

例、単体テスト

SparkR には、examples/src/main/r ディレクトリにいくつかのサンプルプログラムが付属しています。それらのいずれかを実行するには、./bin/spark-submit <filename> <args> を使用します。たとえば:

./bin/spark-submit examples/src/main/r/dataframe.R

R テストの実行の手順に従って、R の単体テストを実行できます。

YARN 上での実行

./bin/spark-submit は、YARN クラスタにジョブを送信するためにも使用できます。その前に YARN conf ディレクトリを設定する必要があります。たとえば CDH では、次のように実行できます:

export YARN_CONF_DIR=/etc/hadoop/conf
./bin/spark-submit --master yarn examples/src/main/r/dataframe.R