venv環境にpysparkを設定する手順
本エントリでは、
Pythonのvenv仮想環境にpysparkをセットアップする手順を示します。
以下を参考に手順を示します。
Installation | Apache Spark
https://spark.apache.org/docs/latest/api/python/getting_started/install.html#manually-downloading
いろいろやり方があるとは思うのですが、
この手順で作った環境が、
PyCharmやIntelliJ IDEAで素直に扱えたので、メモとして残しておきます。
Apache Sparkのダウンロードと展開
spark.apache.orgから、Apache Sparkをダウンロードします。
Downloads | spark.apache.org
https://spark.apache.org/downloads.html
このエントリの手順では「spark-3.1.1-bin-hadoop2.7.tgz」をダウンロードしました。
このファイルを適当な場所に展開します。
$ tar zxf spark-3.1.1-bin-hadoop2.7.tgz
以下のようにspark-shellを実行してversionが表示されることを確認します。
$ export SPARK_HOME=※展開先※/spark-3.1.1-bin-hadoop2.7
$ $SPARK_HOME/bin/spark-shell --version
venv仮想環境の作成
以下のようにvenv環境を作ります。
$ python -m venv venv
作成したvenv環境のsite-packagesにpysparkライブラリへのフックを追加します。
$ ls $SPARK_HOME/python/lib/*.zip > venv/lib/python3.9/site-packages/pyspark.pth
※Pythonのversionが3.9の場合、versionは利用しているものに合わせて下さい。
参考: site — サイト固有の設定フック | docs.python.org https://docs.python.org/ja/3/library/site.html
サンプルコードを実行する
pyspark用に作成した、仮想環境に切り替えます。
$ source venv/bin/activate
サンプルコードを用意します。
main.py
from pyspark.sql import SparkSession
spark = SparkSession.builder.appName('sample').getOrCreate()
df = spark.createDataFrame([(1, "one"), (2, "two"), (3, "three")], ["id", "body"])
df.show()
サンプルコードを実行します。
$ python main.py
以上。