Фильтр данных Pyspark с использованием 2D-списка - PullRequest
0 голосов
/ 04 июля 2019

Столкнувшись с проблемой при попытке отфильтровать фрейм данных в 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 соответствует второму индексу для любого из элементов списка, в котором возвращается строка.

Кто-нибудь может понять, почему это не работает после перемещенияв кластер?

...