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.shSparkR の開発
Spark のビルド
Maven または SBT で Spark をビルドし、R パッケージをビルドするには -Psparkr プロファイルを含めます。たとえば、デフォルトの Hadoop バージョンを使用するには、次のように実行できます:
# Maven
./build/mvn -DskipTests -Psparkr package
# SBT
./build/sbt -Psparkr packagesparkR の実行
次のように SparkR シェルを起動して、SparkR の使用を開始できます:
./bin/sparkRsparkR スクリプトは、デフォルトでローカルモードで Spark を使用して SparkContext を自動的に作成します。自動作成された SparkContext のクラスタの Spark マスターを指定するには、次のように実行できます:
./bin/sparkR --master "local[2]"ドライバーメモリ、エグゼキュータメモリなどのその他のオプションを設定するには、./bin/sparkR に spark-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 を実行できます。このスクリプトは devtools と knitr を使用してドキュメントを生成します。これらのパッケージは、スクリプトを使用する前にマシンにインストールされている必要があります。また、これらの前提条件をインストールする必要がある場合もあります。また、R/DOCUMENTATION.md も参照してください。
例、単体テスト
SparkR には、examples/src/main/r ディレクトリにいくつかのサンプルプログラムが付属しています。それらのいずれかを実行するには、./bin/spark-submit <filename> <args> を使用します。たとえば:
./bin/spark-submit examples/src/main/r/dataframe.RR テストの実行の手順に従って、R の単体テストを実行できます。