質問

私の究極の目標は、Sparkを使用したデータ分析のためにJupyterをPythonと一緒に使用することです。私が直面している現在のハードルは、外部をロードすることです spark_csv 図書館。 Mac OSとAnacondaをPython Distributionとして使用しています。

特に、次のとおりです。

from pyspark import SparkContext
sc = SparkContext('local', 'pyspark')
sqlContext = SQLContext(sc)
df = sqlContext.read.format('com.databricks.spark.csv').options(header='true').load('file.csv')
df.show()

Jupyterから発動したとき、

Py4JJavaError: An error occurred while calling o22.load.
: java.lang.ClassNotFoundException: Failed to find data source: com.databricks.spark.csv. Please find packages at http://spark-packages.org

詳細を次に示します。

Jupyterと一緒に火花を設定します

Jupyter/Ipython(Python 3.xを使用)にSpark/Pysparkをセットアップすることができました。

システムの初期設定

OS XIにAnacondaを使用してPythonをインストールしました。私が現在インストールしているPythonのデフォルトバージョンは3.4.4(Anaconda 2.4.0)です。また、Pythonを使用して2.xバージョンもインストールしていることに注意してください conda create -n python2 python=2.7.

スパークのインストール

これは実際に最も簡単なステップです。最新のバイナリをダウンロードしてください ~/Applications または選択した他のディレクトリ。次に、アーカイブに至る tar -xzf spark-X.Y.Z-bin-hadoopX.Y.tgz。 Sparkに簡単にアクセスできるように、Sparkへの象徴的なリンクを作成します。

ln -s ~/Applications/spark-X.Y.Z-bin-hadoopX.Y ~/Applications/spark

最後に、スパークシンボリックリンクをパスに追加します。

export SPARK_HOME=~/Applications/spark
export PATH=$SPARK_HOME/bin:$PATH

Spark/Pysparkをローカルに実行できるようになりました:単に呼び出す spark-shell また pyspark.

Jupyterの設定

Jupyterノートブック内からSparkを使用するために、次のように準備してください PYTHONPATH:

export PYTHONPATH=$SPARKHOME/python/lib/py4j-0.8.2.1-src.zip:$SPARKHOME/python/:$PYTHONPATH

詳細については、詳細をご覧ください ここ.

役に立ちましたか?

解決

構成の残りが正しいと仮定すると、あなたがしなければならないのは作ることだけです spark-csv あなたのプログラムで利用可能なjar。これを達成する方法はいくつかあります:

  • 必要な瓶を含む手動でダウンロードします spark-csv およびCSVパーサー(たとえば org.apache.commons.commons-csv)そしてそれらをどこかに置きます CLASSPATH.

  • 使用 --packages オプション(Sparkの構築に使用されているScalaバージョンを使用します。事前に構築されたバージョンは2.10を使用します):

    • 使用 PYSPARK_SUBMIT_ARGS 環境変数:

      export PACKAGES="com.databricks:spark-csv_2.11:1.3.0"
      export PYSPARK_SUBMIT_ARGS="--packages ${PACKAGES} pyspark-shell"
      
    • Gradle Stringを追加します spark.jars.packagesconf/spark-defaults.conf:

      spark.jars.packages    com.databricks:spark-csv_2.11:1.3.0
      

他のヒント

Macで次の手順を使用します -

  1. viから〜/.bash_profile(〜/.zshrcその電車に乗っている場合)
  2. 次のエントリを貼り付けます(Spark-CSVの目的のバージョンを必ず指定してください) -

export PYSPARK_SUBMIT_ARGS="--packages com.databricks:spark-csv_2.11:1.3.0 $PYSPARK_SUBMIT_ARGS"

そこから、「iPythonノートブック」を実行して、このようなものでテストします -

import pyspark as ps
from pyspark.sql import SQLContext

sc = ps.SparkContext()

input_csv = 'file:////PATH_TO_CSV_ON_LOCAL_FILESYSTEM'

df=sqlContext.read.load(input_csv,format='com.databricks.spark.csv', header='true', inferSchema='true')

df.dtypes  # Returns the csv's schema breakdown with types
ライセンス: CC-BY-SA帰属
所属していません datascience.stackexchange
scroll top