我的最终目标是使用 Jupyter 和 Python 一起使用 Spark 进行数据分析。我目前面临的障碍是加载外部spark_csv库。我使用 Mac OS 和 Anaconda 作为 Python 发行版。
特别是以下内容:
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 一起设置 Spark
我设法在 Jupyter/IPython(使用 Python 3.x)中设置了 Spark/PySpark。
系统初始设定
在我的 OS XI 上使用 Anaconda 安装了 Python。我目前安装的默认 Python 版本是 3.4.4(Anaconda 2.4.0)。请注意,我还使用conda create -n python2 python=2.7.
安装 Spark
这实际上是最简单的一步;将最新的二进制文件下载到~/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
最后,将 Spark 符号链接添加到 PATH:
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
更多细节可以在这里找到。