Apache spark ';单元格';对象没有属性';iteritems';

Apache spark ';单元格';对象没有属性';iteritems';,apache-spark,Apache Spark,我正在通过Spark的python API运行一个简单的示例: x = sc.parallelize([("a", 1), ("b", 1), ("a", 1)]) def f(x): return x def add(a, b): return a + str(b) sorted(x.combineByKey(str, add, add).collect()) 在本地模式(Spark 1.0和1.1)下没有问题,但在群集模式下会发生错误。下面给出了一条问题回溯信息。在测试RDD函数cogro

我正在通过Spark的python API运行一个简单的示例:

x = sc.parallelize([("a", 1), ("b", 1), ("a", 1)])
def f(x): return x
def add(a, b): return a + str(b)
sorted(x.combineByKey(str, add, add).collect())
在本地模式(Spark 1.0和1.1)下没有问题,但在群集模式下会发生错误。下面给出了一条问题回溯信息。在测试RDD函数
cogroup()
时,它还显示了类似的问题。这是我第一次浏览Spark的API(Python)

你知道吗

[duplicate 561]
14/12/19 23:04:53 INFO TaskSetManager: Loss was due to org.apache.spark.api.python.PythonException: Traceback (most recent call last):
File "/opt/cloudera/parcels/CDH-5.1.4-1.cdh5.1.4.p0.15/lib/spark/python/pyspark/worker.py", line 77, in main
serializer.dump_stream(func(split_index, iterator), outfile)
File "/opt/cloudera/parcels/CDH-5.1.4-1.cdh5.1.4.p0.15/lib/spark/python/pyspark/rdd.py", line 1404, in pipeline_func
return func(split, prev_func(split, iterator))
File "/opt/cloudera/parcels/CDH-5.1.4-1.cdh5.1.4.p0.15/lib/spark/python/pyspark/rdd.py", line 283, in func
def func(s, iterator): return f(iterator)
File "/opt/cloudera/parcels/CDH-5.1.4-1.cdh5.1.4.p0.15/lib/spark/python/pyspark/rdd.py", line 1118, in combineLocally
combiners = {}
AttributeError: 'cell' object has no attribute 'iteritems'

如果
a
b
都是整数,那么
a+str(b)
不是很奇怪吗?您是否试图将它们作为整数添加或连接?您是否找到了解决方案?@reokatoa这似乎不是Spark的问题,而是Python发行版的集成问题(我们使用的是Anaconda Python)。当我们切换到集群的本地python时,问题消失了。