3
如果我通過在控制檯中輸入/usr/bin/pyspark
來啓動pyspark,則以下示例代碼運行時不會出現任何錯誤。但是,如果我用IPython中使用它,無論是通過調用pyspark - 僅在IPython中出現錯誤,但不在vanila python中
$IPYTHON_OPTS="notebook" /usr/bin/pyspark # notebook
或
$IPYTHON=1 /usr/bin/pyspark
然後將引發異常。
這是代碼:
from pyspark import SparkContext,SparkConf
from pyspark import SQLContext
from pyspark.sql.types import *
# sc is a SparkContex object created when pyspark is invoked
sqc = SQLContext(sc)
這是錯誤消息:
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-1-f0bbbc9cdb50> in <module>()
3 from pyspark.sql.types import *
4 # sc is a SparkContex object created when pyspark is invoked
----> 5 sqc = SQLContext(sc)
/opt/cloudera/parcels/CDH-5.4.2-1.cdh5.4.2.p0.2/lib/spark/python/pyspark/sql/context.py in __init__(self, sparkContext, sqlContext)
91 """
92 self._sc = sparkContext
---> 93 self._jsc = self._sc._jsc
94 self._jvm = self._sc._jvm
95 self._scala_SQLContext = sqlContext
AttributeError: 'module' object has no attribute '_jsc'
是什麼原因導致這個錯誤,我該如何解決?
UPDATE
事實證明,如果我用Linux的蟒蛇蟒蛇分佈存在的問題:
~$ ipython --version
4.0.0
~$ python --version
Python 2.7.10 :: Anaconda 2.3.0 (64-bit)
但是,如果我禁用蟒蛇分佈和使用Python自帶的系統,一切正常
$ ipython --version
4.0.0
$ python --version
Python 2.7.3
$ cat /etc/issue
Debian GNU/Linux 7 \n \l
所以,問題是與蟒蛇,但仍然不知道什麼問題是
我與另一個軟件包有同樣的問題。很煩人。你在某個地方發佈了一個問題嗎? – salotz