Pyspark: длинная цепочка фильтров заставляет водителя зависать - PullRequest
0 голосов
/ 14 сентября 2018

Предположим, у нас есть список предикатов, которые мы хотели бы построить цепочку фильтров. Когда список предикатов превышает ~ 20, драйвер просто зависает, и задание никогда не отображается в пользовательском интерфейсе spark.

Например:

df = spark.table('test.test')

for predicate in predicates_list:
    positive_case = df.filter(predicate)
    negative_case = df.filter(~predicate)
    #some changes are made to negative and positive case
    df = positive_case.union(negative_case)

df.show()

Единственная альтернатива, о которой я могу подумать, - написать все это в функции python и перейти в rdd-страну. Тем не менее, это кажется очень хакерским решением кажущейся тривиальной проблемы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...