AttributeError:'SparkContext'对象没有使用Spark 1.6

时间:2016-11-17 09:23:05

标签: python hadoop apache-spark

以前有关此错误的问题有答案说您需要做的就是更新您的Spark版本。我刚刚删除了早期版本的Spark并安装了为Hadoop 2.6.0构建的Spark 1.6.3。

我试过了:

s_df = sc.createDataFrame(pandas_df)

得到了这个错误:

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-8-4e8b3fc80a02> in <module>()
      1 #creating a spark dataframe from the pandas dataframe
----> 2 s_df = sc.createDataFrame(pandas_df)

AttributeError: 'SparkContext' object has no attribute 'createDataFrame'

有谁知道为什么?我尝试删除并重新安装相同的1.6版本,但它对我不起作用。

以下是我正在搞乱的环境变量,以使我的pyspark正常工作:

PATH="/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin"
export PATH

# Setting PATH for Python 2.7
# The orginal version is saved in .bash_profile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}"
export PATH

# added by Anaconda installer
export PATH="/Users/pr/anaconda:$PATH"

# path to JAVA_HOME
export JAVA_HOME=$(/usr/libexec/java_home)

#Spark
export SPARK_HOME="/Users/pr/spark" #version 1.6
export PATH=$PATH:$SPARK_HOME/bin
export PYSPARK_SUBMIT_ARGS="--master local[2]"
export PYTHONPATH=$SPARK_HOME/python/:$PYTHONPATH
export PYTHONPATH=$SPARK_HOME/python/lib/py4j-0.9-src.zip:$PYTHONPATH
export PYSPARK_DRIVER_PYTHON=jupyter
export PYSPARK_DRIVER_PYTHON_OPTS='notebook'

我可能需要单独安装Hadoop吗?我跳过了那一步,因为我不需要它来运行我的代码。

2 个答案:

答案 0 :(得分:16)

SparkContext没有,SQLContext有:

from pyspark.sql import SQLContext

sqlContext = SQLContext(sc)
sqlContext.createDataFrame(pandas_df)

答案 1 :(得分:0)

如果您在文档中看到this,则可以使用SparkSession。

from pyspark.sql import SparkSession
sess = SparkSession(sc)
sess.createDataFrame(pandas_df/rdd, schema)