Pyspark:长的过滤器链使驱动程序挂起

2024-05-08 13:37:05 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我们有一个谓词列表,我们想构建一个过滤器链。当谓词列表超过~20时,驱动程序将挂起,而spark ui中永远不会出现作业。你知道吗

例如:

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领域。然而,对于一个看似微不足道的问题,这似乎是一个非常粗糙的解决方案。你知道吗


Tags: testui过滤器df列表作业驱动程序table

热门问题