LinuxでSparkのPythonプログラミング環境を構築する方法


Sparkプログラミング環境
Sparkは独立してインストールして使うことができます。Hadoopと一緒にインストールして使うこともできます。Sparkをインストールする前に、まずあなたのコンピュータにJava 8またはより高いバージョンがインストールされていることを確認します。
Spark取付
Sparkにアクセスしてページをダウンロードし、最新バージョンのSparkを直接ダウンロードします。現在の最新バージョンは2.4.2です。ダウンロードしたらインストールフォルダに展開して、自分の好みを見てください。

tar -xzf spark-2.4.2-bin-hadoop2.7.tgz
mv spark-2.4.2-bin-hadoop2.7/opt/spark-2.4.2
端末内でSparkのshell環境を直接開くためには、対応する環境変数を配置する必要がある。ここはzshを使っていますので、~/.zshrcに配置する必要があります。
zshがインストールされていない場合は~/.bashrcに配置できます。

#    zshrc   
sudo gedit ~/.zshrc
#       :export SPARK_HOME=/opt/spark-2.4.2export PATH=$SPARK_HOME/bin:$PATH
export <a href="https://www.linuxidc.com/topicnews.aspx?tid=17" target="_blank" title="Python">Python</a>PATH=$SPARK_HOME/python:$SPARK_HOME/python/lib/py4j-0.10.4-src.zip:$PYTHONPATH
設定が完了すると、shellに spark-shell またはpysparkを入力するとSparkのインタラクティブプログラミング環境に入ることができ、前者はScalインタラクティブ環境に入ることであり、後者はPythonインタラクティブ環境に入ることである。
Pythonプログラミング環境の設定
ここでは二つのプログラミング環境を紹介します。JupyterとVisual Studio Code。前者はインタラクティブプログラミングが容易で、後者は最終的な集積的開発に便利である。
PySpark in Jupyter
まず、どのようにJupyterでSparkを使うかを紹介します。ここではJupyter notebookとJupyter labは共通の方式です。ここではJupyter labの構成を例にします。
Jupyter labでPySparkを使用する方法は2つあります。
pysparkは自動的にJpyterlabを開きます。
findSparkパッケージでPySparkをロードします。
最初のオプションはより速くなりますが、Jupyterノートに決められています。第二のオプションはより広範な方法であり、PySparkは好きなIDEの中で使えます。第二の方法を強く勧めます。
方法1:PySparkスターターの配置
PySparkアクチュエータの環境変数を更新し、引き続き~/.zshrcファイルに以下の内容を追加します。

export PYSPARK_DRIVER_PYTHON=jupyter
export PYSPARK_DRIVER_PYTHON_OPTS='lab'
jupyter notebookを使用すると、2番目のパラメータの値をnotebookに変更します。
環境変数を更新したり、マシンを再起動したり、pysparkコマンドを実行すると、Sparkを起動したJupyter labを直接開きます。
pyspark
 
方法二:findSparkを使って包んでください。
Jupyter labでPySparkを使用すると、もう一つのより一般的な方法があります。findspark パケットを使用してコードにSparkコンテキストを提供します。
findsparkパッケージはJupyter labに特定されていません。他のIDEでもこの方法を使用することができますので、この方法がもっと一般的で、この方法をオススメします。
まずfindsparkをインストールします。pip install findsparkその後、Jupyter labを開いて、Sparkのプログラミングをする時に、先にfindsparkパッケージを導入する必要があります。例は以下の通りです。

#    findspark     import findspark
findspark.init()from pyspark importSparkConf,SparkContextimport random
#    Spark
conf =SparkConf().setMaster("local[*]").setAppName("Pi")#         Spark
sc =SparkContext(conf=conf)
num_samples =100000000definside(p):   
  x, y = random.random(), random.random()return x*x + y*y <1
count = sc.parallelize(range(0, num_samples)).filter(inside).count()
pi =4* count / num_samples
print(pi)
sc.stop()
実行例:
 
PySpark in VS code
Visual Studio Codeは優れたエディタとして、Pythonの開発に非常に便利です。ここではまず個人用のプラグインを紹介します。
Python:必須プラグインは、Python言語サポートを提供します。
Code Runner:実行ファイルの一部をサポートします。
また、VSCでSparkを使うと、findsparkパッケージを使う必要がなくなり、直接プログラムができます。

from pyspark importSparkContext,SparkConf
conf =SparkConf().setMaster("local[*]").setAppName("test")
sc =SparkContext(conf=conf)
logFile ="file:///opt/spark-2.4.2/README.md"
logData = sc.textFile(logFile,2).cache()
numAs = logData.filter(lambda line:'a'in line).count()
numBs = logData.filter(lambda line:'b'in line).count()print("Lines with a: {0}, Lines with b:{1
締め括りをつける
以上は小编が皆さんに绍介したLinuxの下でSparkのPythonプログラミング环境を作る方法です。皆さんに助けてほしいです。