引用聚合结果将导致Spark不采取任何措施

在Spark中,如果我进行汇总,有什么方法可以使用这些结果而无需执行任何操作?

我正在尝试构建一个具有中间阶段的图,该阶段进行汇总,然后根据结果有条件地进行分支。据我所知,唯一的方法是单独执行每个阶段。

例如,在以下人为设计的代码中,我希望基于聚合的值执行条件语句,但是我想使它起作用的唯一方法是对聚合进行操作:

df = spark.range(5)
df = df.withColumn('flag',when(col('id') < 10,0).otherwise(1))
df = df.withColumn('test',when(df.agg({'flag': 'max'}).first()[0] < lit(1),True).otherwise(False))
... Do more stuff ...

理想情况下,我希望这是一种转变,而不是采取行动,但我找不到任何证据证明这是可能的。

seraph530 回答:引用聚合结果将导致Spark不采取任何措施

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3163363.html

大家都在问