Столкнувшись с проблемой при попытке отфильтровать фрейм данных в Pyspark, мой код работает автономно, но при перемещении в кластер он перестает работать.
Код, который я использую, выглядит следующим образом:
def ttst_filter(df, keys):
return df.filter(
reduce(
or_,
((col('col_1') == key[0]) & (col('col_2') == key[1]) for key in keys)
)
)
Эта функция получает фрейм данных и список ключей следующим образом:
[
[1, 2],
[2, 3],
[4, 5]
]
Если нетв кластере функция работает должным образом, если col_1 соответствует первому индексу, а col_2 соответствует второму индексу для любого из элементов списка, в котором возвращается строка.
Кто-нибудь может понять, почему это не работает после перемещенияв кластер?