有关使用RDD.cartesian和Spark Streaming的错误吗?

时间:2016-12-13 08:39:00

标签: apache-spark pyspark spark-streaming

我的代码:

ks1 = KafkaUtils.createStream(ssc, zkQuorum='localhost:2181', groupId='G1', topics={'test': 2})
ks2 = KafkaUtils.createStream(ssc, zkQuorum='localhost:2181', groupId='G2', topics={'test': 2})

d1 = ks1.map(lambda x: x[1]).flatMap(lambda x: list(x)).countByValue()
d2 = ks2.map(lambda x: x[1]).flatMap(lambda x: list(x)).countByValue()

d3 = d1.transformWith(lambda t, x, y: x.cartesian(y), d2)

然后我收到一些错误:

  

java.lang.ClassCastException:org.apache.spark.api.java.JavaPairRDD   无法强制转换为org.apache.spark.api.java.JavaRDD

P.S。 Python2.7.11 + Spark 2.0.2

谢谢

1 个答案:

答案 0 :(得分:1)

是的,有一个已知的错误。这是一个JIRA:

https://issues.apache.org/jira/browse/SPARK-17756