使用相同数量的元素压缩RDD,但是会引发错误“每个分区中只能压缩具有相同数量元素的RDD”

时间:2019-10-02 20:00:58

标签: apache-spark pyspark

我正在尝试压缩两个具有相同数量元素的rdd。但是,当调用zip时,我得到一个错误,即rdd中不包含相同数量的元素。特定错误是“每个分区中只能压缩具有相同数量元素的RDD”。

    data = data.sortBy(lambda x: x[0]).zip(tod).map(lambda x: (x[0][0], x[0][1], x[0][4], x[0][5], x[0][6], x[1][1], x[1][2], x[1][3], x[1][4], x[1][5], x[1][6],  x[0][7]))

    bool_converted = data.map(lambda x: convertStringToFloat(x[0], x[4])).sortBy(lambda x: x[0])

然后我打电话

    data = data.zip(bool_converted)

哪个会引发错误

ERROR Executor: Exception in task 1.0 in stage 22.0 (TID 86)
org.apache.spark.SparkException: Can only zip RDDs with same number of elements in each partition

但分区中的元素数相同:

    print("data", data.count())
    print("bool_converted", bool_converted.count())

哪个给:

('data', 1458644)
('bool_converted', 1458644)

我什至检查了分区数。两者都是8。

任何人都可以解释发生了什么事以及如何防止这种情况发生吗?

0 个答案:

没有答案