当我在集群上使用python3运行spark时。这个错误不断出现:
py4j.protocol.Py4JJavaError: An error occurred while calling z:org.apache.spark.api.python.PythonRDD.collectAndServe.
: org.apache.spark.SparkException: Job aborted due to stage failure: Task 10 in stage 0.0 failed 4 times, most recent failure: Lost task 10.3 in stage 0.0 (TID 24, us-lax-office-dev-03.vpc.supplyframe.com): org.apache.spark.api.python.PythonException: Traceback (most recent call last):
File "/home/glin/spark-1.6.0/python/lib/pyspark.zip/pyspark/worker.py", line 98, in main
command = pickleSer._read_with_length(infile)
File "/home/glin/spark-1.6.0/python/lib/pyspark.zip/pyspark/serializers.py", line 164, in _read_with_length
return self.loads(obj)
File "/home/glin/spark-1.6.0/python/lib/pyspark.zip/pyspark/serializers.py", line 419, in loads
return pickle.loads(obj, encoding=encoding)
ImportError: No module named 'UserString'
我知道在python3中,"UserString"不再是一个模块,而是集合模块的一部分。但我无法修复。有人能帮忙吗????
如果我将主节点更改为本地[*],则此错误将消失。。。。。我很舒服
我知道在python3中,"UserString"不再是一个模块,而是集合模块的一部分。但我无法修复。
你为什么不能修理它?代替
import UserString
你能试试吗
from collections import UserString
我也遇到了这个问题,但我不能理解的是,我找不到UserString模块的导入位置。然后我发现我的Yarn集群中的python包有不同的版本。一条是蟒蛇3.4.5,另一条是蟒3.4.3。重新安装后,问题得到了解决。
此外,在我的案例中,直接原因是str和NoneType之间的比较。