ローカル Spark (Linux/MacOS)
ローカルの Spark アプローチでは、すべての Spark ジョブがユーザーのマシンで実行されます。
Sparkmagic 拡張機能は、 Livy を使用してすべてのユーザーコードを実行します。 Livy は、ユーザーのマシンに Spark をローカルインストールします。
ソフトウェア要件
次のソフトウェアツールを指定したバージョンにインストールする必要があります。
- Java 8 以降
- Hadoop 2.7.3
- Spark 2.4.0
- Livy 0.5.0- インキュベートします
『 Spark ツールのインストール手順 』で説明されているインストール手順の例に従います。
Configuration
Hadoop 、 Spark 、および Livy が相互に通信する必要があります。 次の設定を使用します。
Hadoop
~/.bashrc
Linux または ~/.bash_profile
MacOS を使用している場合は、ファイルに次の環境変数を追加して、 Hadoop インストールフォルダを指定します。
export HADOOP_HOME=/usr/local/hadoop
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
Linux execute の環境変数を読み込みます。
source ~/.bashrc
MacOS の場合 :
source ~/.bash_profile
Spark
次の依存関係をダウンロードします。
curl -o "/tmp/scala-java8-compat_2.11-0.8.0.jar" \
"https://repo1.maven.org/maven2/org/scala-lang/modules/scala-java8-compat_2.11/0.8.0/scala-java8-compat_2.11-0.8.0.jar"
curl -o "/tmp/json4s-native_2.11-3.5.3.jar" \
"https://repo1.maven.org/maven2/org/json4s/json4s-native_2.11/3.5.3/json4s-native_2.11-3.5.3.jar"
curl -o "/tmp/protobuf-java-3.10.0.jar" \
"https://repo1.maven.org/maven2/com/google/protobuf/protobuf-java/3.10.0/protobuf-java-3.10.0.jar"
Spark インストールフォルダ内にコピーします。
sudo cp "/tmp/scala-java8-compat_2.11-0.8.0.jar" "/usr/local/spark/jars/"
sudo cp "/tmp/json4s-native_2.11-3.5.3.jar" "/usr/local/spark/jars/"
sudo cp "/tmp/protobuf-java-3.10.0.jar" "/usr/local/spark/jars/"
~/.bashrc
Linux または ~/.bash_profile
MacOS を使用している場合は、ファイルに次の環境変数を追加して、 Spark インストールフォルダを指定します。
export SPARK_HOME=/usr/local/spark
export PATH=$PATH:$SPARK_HOME/bin
環境変数を読み込みます。 Linux の場合、次のコマンドを実行します
source ~/.bashrc
MacOS の場合、次のコマンドを実行します
source ~/.bash_profile
次 のコマンドconda env list
を実行して、 OLP-SDK-for-python-1.12-env conda 環境がインストールされているフォルダを探します 。
$ conda env list
# conda environments:
#
base /home/user/miniconda3
olp-sdk-for-python-1.12-env * /home/user/miniconda3/envs/olp-sdk-for-python-1.12-env
上記の例では、環境のフォルダーはです /home/user/miniconda3/envs/olp-sdk-for-python-1.12-env
。 このフォルダー内にある Python バイナリをポイントするように Spark を設定する必要があります。 このために、 Spark 環境ファイルを作成します。
cd /usr/local/spark/conf
sudo cp spark-env.sh.template spark-env.sh
sudo vi spark-env.sh
OLP-SDK-for-python-1.12-env conda 環境の実際の場所に、 前に作成した spark-env.sh
ファイルのサフィックス/bin/python3
を加えた次の環境変数を追加します。
export PYSPARK_PYTHON=/home/user/miniconda3/envs/olp-sdk-for-python-1.12-env/bin/python3
export PYSPARK3_PYTHON=/home/user/miniconda3/envs/olp-sdk-for-python-1.12-env/bin/python3
リヴィー
Livy 接続のタイムアウトを設定します。
echo "livy.rsc.server.connect.timeout: 1800s" > ~/livy/conf/livy-client.conf
cp ~/livy/conf/log4j.properties.template ~/livy/conf/log4j.properties
注意
- これらの手順が正しく動作するには、 URL に接続しないことが必要です。これは、 Livy サーバーを誤った HERE VPN で誤って設定する既知の問題が原因です。 HERE VPN に接続していない Livy サーバーを起動する前に確認してください。
Sparkmagic 拡張機能を使用して Spark ジョブを実行するために必要なものがすべて設定されました。
Livy サーバーを起動するには、次のコマンドを使用します。
~/livy/bin/livy-server start
Livy サーバーは、デフォルトでオン localhost:8998
になっています。 次のコマンドを実行して停止できます。
~/livy/bin/livy-server stop
チュートリアルノートブック
Spark のチュートリアルノートブックは、フォルダー : $HOME/olp-sdk-for-python-1.12/tutorial-notebooks/spark
にあり ます。
で「はじめに $HOME/olp-sdk-for-python-1.12/tutorial-notebooks/GettingStarted.ipynb
」ノートブックを使用して、すべてのチュートリアルノートブックの概要を確認できます。
セットアップの検証
ローカルの Spark 環境が正しく設定されていることを確認する手順は、次のとおりです。
Jupyter および Livy サービスを開始します
次のコマンドを使用して、 Livy サーバーを起動し ~/livy/
ます (Livy のインストールがにあることを前提としています ) 。
~/livy/bin/livy-server start
SDK conda 環境をアクティブ化します。
conda activate olp-sdk-for-python-1.12-env
ホームディレクトリに移動し、 Jupyter の起動に進みます。
cd ~/
jupyter notebook --NotebookApp.iopub_data_rate_limit=1000000000 --ip=0.0.0.0
ヘルスチェックノートブックを実行します
チュートリアルノートブックを開き $HOME/olp-sdk-for-python-1.12/tutorial-notebooks/spark/spark_ProcessDataLocally_scala.ipynb
、そのすべての段落を実行します。
すべての段落が正常に実行された場合は、ローカルの Spark 環境が正しく設定されています。
HERE Data SDK for Python をお選びいただきありがとうございます。 設定後、この 1 分間の簡単な調査に記入して、セットアップ体験の改善に役立ててください。