web-dev-qa-db-ja.com

Link Spark with iPython Notebook

オンラインでチュートリアルをいくつか試しましたが、OS X El Capitan(10.11)でSpark 1.5.1を使用できません。

基本的に私はこのコマンドを実行しましたdownload Apache-spark

brew update
brew install scala
brew install Apache-spark

.bash_profileを更新しました

# For a ipython notebook and pyspark integration
if which pyspark > /dev/null; then
  export SPARK_HOME="/usr/local/Cellar/Apache-spark/1.5.1/libexec/"
  export PYSPARK_SUBMIT_ARGS="--master local[2]"
fi

走る

ipython profile create pyspark

このように構成されたスタートアップファイル~/.ipython/profile_pyspark/startup/00-pyspark-setup.pyを作成しました

# Configure the necessary Spark environment
import os
import sys

# Spark home
spark_home = os.environ.get("SPARK_HOME")

# If Spark V1.4.x is detected, then add ' pyspark-Shell' to
# the end of the 'PYSPARK_SUBMIT_ARGS' environment variable
spark_release_file = spark_home + "/RELEASE"
if os.path.exists(spark_release_file) and "Spark 1.4" in open(spark_release_file).read():
    pyspark_submit_args = os.environ.get("PYSPARK_SUBMIT_ARGS", "")
    if not "pyspark-Shell" in pyspark_submit_args: pyspark_submit_args += " pyspark-Shell"
    os.environ["PYSPARK_SUBMIT_ARGS"] = pyspark_submit_args

# Add the spark python sub-directory to the path
sys.path.insert(0, spark_home + "/python")

# Add the py4j to the path.
# You may need to change the version number to match your install
sys.path.insert(0, os.path.join(spark_home, "python/lib/py4j-0.8.2.1-src.Zip"))

# Initialize PySpark to predefine the SparkContext variable 'sc'
execfile(os.path.join(spark_home, "python/pyspark/Shell.py"))

次にipython notebook --profile=pysparkを実行すると、ノートブックは正常に動作しますが、sc(スパークコンテキスト)が認識されません。

誰かがSpark 1.5.1

編集:このガイドに従って機能させることができます

https://Gist.github.com/tommycarpi/f5a67c66a8f2170e263c

15
r4id4

私はJupyterをインストールしました。実際、あなたが考えるよりも簡単です。

  1. インストール anaconda for OSX。
  2. インストール jupyter 端末に次の行を入力 詳細はこちらをクリック

    ilovejobs@mymac:~$ conda install jupyter
    
  3. 念のためjupyterを更新してください。

    ilovejobs@mymac:~$ conda update jupyter
    
  4. ダウンロード Apache Spark でコンパイルするか、ダウンロードして圧縮解除します Apache Spark 1.5.1 + Hadoop 2.6

    ilovejobs@mymac:~$ cd Downloads 
    ilovejobs@mymac:~/Downloads$ wget http://www.Apache.org/dyn/closer.lua/spark/spark-1.5.1/spark-1.5.1-bin-hadoop2.6.tgz
    
  5. 自宅にAppsフォルダを作成します(つまり):

    ilovejobs@mymac:~/Downloads$ mkdir ~/Apps
    
  6. 圧縮されていないフォルダspark-1.5.1~/Appsディレクトリに移動します。

    ilovejobs@mymac:~/Downloads$ mv spark-1.5.1/ ~/Apps
    
  7. ~/Appsディレクトリに移動し、sparkが存在することを確認します。

    ilovejobs@mymac:~/Downloads$ cd ~/Apps
    ilovejobs@mymac:~/Apps$ ls -l
    drwxr-xr-x ?? ilovejobs ilovejobs 4096 ?? ?? ??:?? spark-1.5.1
    
  8. これが最初のトリッキーな部分です。 sparkバイナリを$PATHに追加します:

    ilovejobs@mymac:~/Apps$ cd
    ilovejobs@mymac:~$ echo "export $HOME/apps/spark/bin:$PATH" >> .profile
    
  9. これが2番目のトリッキーな部分です。この環境変数も追加します。

    ilovejobs@mymac:~$ echo "export PYSPARK_DRIVER_PYTHON=ipython" >> .profile
    ilovejobs@mymac:~$ echo "export PYSPARK_DRIVER_PYTHON_OPTS='notebook' pyspark" >> .profile
    
  10. これらの変数をこのターミナルで使用できるようにするために、プロファイルを入手

    ilovejobs@mymac:~$ source .profile
    
  11. ~/notebooksディレクトリを作成します。

    ilovejobs@mymac:~$ mkdir notebooks
    
  12. ~/notebooksに移動して、pysparkを実行します。

    ilovejobs@mymac:~$ cd notebooks
    ilovejobs@mymac:~/notebooks$ pyspark
    

これらの変数を家にある.bashrcに追加できることに注意してください。 これで、pysparkカーネルでjupyterを実行できるようになります(python 2として表示されますが、sparkを使用します)

24

まず、あなたのマシンにspark環境があることを確認してください。

次に、python module findspark via pipをインストールします。

$ Sudo pip install findspark

そしてpythonシェルで:

import findspark
findspark.init()

import pyspark
sc = pyspark.SparkContext(appName="myAppName")

これで、python Shell(またはipython))のpysparkで必要な操作を実行できます。

実際、これは私の見解では、sparkカーネルをjupyterで使用するのが最も簡単な方法です。

4
R.S L

参考までに、Scala、PySpark、SparkR、およびSQLをSparkで実行し、 を介してJupyterの上で実行する)https://github.com/ibm-et/spark-kernel プルリクエスト から新しいインタープリターが追加されました(実験的にマークされました)。https://github.com/ibm-et/spark -kernel/pull/146

詳細については、 language support wikiページを参照してください。

2
Senkwich

IPython/Jupyterノートブックを備えたSparkは素晴らしいものであり、Albertoが動作を支援できることを嬉しく思います。

参考のために、あらかじめパッケージ化されており、YARNクラスターに簡単に統合できる2つの優れた選択肢を検討する価値もあります(必要な場合)。

Spark Notebook: https://github.com/andypetrella/spark-notebook

Apache Zeppelin: https://zeppelin.incubator.Apache.org/

執筆時点ではSpark Notebook(v0.6.1)はより成熟しており、ここでSparkおよびHadoopバージョンに対してインストールを事前構築できます: http://spark-notebook.io/

Zeppelin(v0.5)は非常に有望に見えますが、Spark NotebookまたはIPython with Spark=.

1
Dylan Hogg