如何在 Windows 的 ipython jupyter notebook 中添加 Spark-csv-master?

Posted

技术标签:

【中文标题】如何在 Windows 的 ipython jupyter notebook 中添加 Spark-csv-master?【英文标题】:How to add Spark-csv-master in ipython jupyter notebook in windows? 【发布时间】:2016-06-15 12:21:33 【问题描述】:

我正在使用 apache-sparkipython 并尝试在笔记本中加载 csv 文件。但我收到错误: Py4JJavaError: An error occurred while calling o22.load. 在搜索时我发现通过加载spark-csv 这将得到解决。我想知道如何在 Windows 的笔记本中加载 spark-csv,以及是否有人可以告诉我解决此错误的另一种方法。我已经上传了错误的屏幕截图。

py4jjavaerrorerrorpic 2

【问题讨论】:

How to add any new library like spark-csv in Apache Spark prebuilt version的可能重复 它不重复。在这个特别的问题中,您提到他询问有关在 apache 预构建版本中添加 spark-csv 的问题,而我询问有关添加 jupyter notebook 的问题。我还询问了解决 py4jjava 错误的任何其他方法。 只需添加 jars 或打包您的错误将被解决它的重复。 好的,告诉我如何在 windows 的 jupyter notebook 中添加 jars 或 package?你提到的那个问题的所有答案都不适合我...... 【参考方案1】:

我遇到了同样的问题。这是我固定的方式。我使用了 anaconda 3.5 jupyter notebook 和 Windows 10:

import os
import sys

SUBMIT_ARGS = "--packages com.databricks:spark-csv_2.11:1.4.0 pyspark-shell"
os.environ["PYSPARK_SUBMIT_ARGS"] = SUBMIT_ARGS

spark_home = os.environ.get('SPARK_HOME', None)
if not spark_home:
    raise ValueError('SPARK_HOME environment variable is not set')
sys.path.insert(0, os.path.join(spark_home, 'python'))
sys.path.insert(0, os.path.join(spark_home, 'C:/spark/python/lib/py4j-0.9-src.zip'))

exec(open(os.path.join(spark_home, 'C:/spark/python/pyspark/shell.py')).read()) # python 3


from pyspark.sql import SQLContext
sqlContext = SQLContext(sc)

df = sqlContext.read.format('com.databricks.spark.csv').options(header='true').load('C:/spark_data/train.csv')

df.show()

【讨论】:

以上是关于如何在 Windows 的 ipython jupyter notebook 中添加 Spark-csv-master?的主要内容,如果未能解决你的问题,请参考以下文章

windows10安装ipython

如何在 Spyder/IPython/matplotlib 中再次获得交互式绘图?

如何防止 setuptools 将包安装为 .egg

windows 安装ipython

ipython怎么安装pyspark

双击打开一个 ipython 笔记本