Я пытаюсь заархивировать два диска с одинаковым количеством элементов. Но при вызове 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.
Может кто-нибудь объяснить, что происходит и как это предотвратить?