我在運行pyspark(來自ipython-notebook)時遇到了庫錯誤,我想在我的RDD的.mapValues
操作中使用Statistics.chiSqTest(obs)
pyspark.mllib.stat
, ,list(int))對。Spark(pyspark)在工作節點上調用統計方法時遇到困難
的主節點,如果我收集RDD作爲地圖,並逐一查看這些值,像這樣我沒有問題
keys_to_bucketed = vectors.collectAsMap()
keys_to_chi = {key:Statistics.chiSqTest(value).pValue for key,value in keys_to_bucketed.iteritems()}
但如果我直接做同樣的RDD我打的問題
keys_to_chi = vectors.mapValues(lambda vector: Statistics.chiSqTest(vector))
keys_to_chi.collectAsMap()
導致以下異常
Traceback (most recent call last):
File "<ipython-input-80-c2f7ee546f93>", line 3, in chi_sq
File "/Users/atbrew/Development/Spark/spark-1.4.0-bin-hadoop2.6/python/lib/pyspark.zip/pyspark/mllib/stat/_statistics.py", line 238, in chiSqTest
jmodel = callMLlibFunc("chiSqTest", _convert_to_vector(observed), expected)
File "/Users/atbrew/Development/Spark/spark-1.4.0-bin-hadoop2.6/python/lib/pyspark.zip/pyspark/mllib/common.py", line 127, in callMLlibFunc
api = getattr(sc._jvm.PythonMLLibAPI(), name)
AttributeError: 'NoneType' object has no attribute '_jvm'
我在火星早期有一個問題,我nstall沒有看到numpy,mac-osx有兩個python安裝(一個來自brew和一個來自操作系統),但我認爲我已經解決了這個問題。奇怪的是,這是一個附帶spark安裝的python庫(我之前的問題是使用numpy)。
- 安裝詳細
- 最大OSX約塞米蒂
- 火花的火花1.4.0彬hadoop2.6
- 蟒經由spark-env.sh指定爲
PYSPARK_PYTHON=/usr/bin/python
PYTHONPATH=/usr/local/lib/python2.7/site-packages:$PYTHONPATH:$EA_HOME/omnicat/src/main/python:$SPARK_HOME/python/
- 別名ipython-spark-notebook =「IPYTHON_OPTS = \」notebook \「pyspark」
- PYSPARK_SUBMIT_ARGS = ' - NUM-執行人2 --executor-4G內存--executor-芯2'
- 聲明-x PYSPARK_DRIVER_PYTHON = 「IPython的」
經過多少次挖掘,我發現當拋出異常時,這是基本'sc'(spark context)是'None'。這是否意味着pyspark中的工作節點無法訪問'sc'變量? –