gpt4 book ai didi

scala - Spark结构化流将聚合数据帧连接到数据帧

转载 作者:行者123 更新时间:2023-12-02 04:29:14 25 4
gpt4 key购买 nike

我有一个流数据框,可能看起来像这样:

+--------------------+--------------------+
| owner| fruits|
+--------------------+--------------------+
|Brian | apple|
Brian | pear |
Brian | date|
Brian | avocado|
Bob | avocado|
Bob | apple|
........
+--------------------+--------------------+

我执行了一个groupBy,agg collect_list来清理内容。
val myFarmDF = farmDF.withWatermark("timeStamp", "1 seconds").groupBy("fruits").agg(collect_list(col("fruits")) as "fruitsA")

对于每个所有者,输出是单个行,并且每个水果都是一个数组。
我现在想将此清理后的数组加入到原始流数据帧中,删除水果col并仅拥有fruitsA列
val joinedDF = farmDF.join(myFarmDF, "owner").drop("fruits")

这似乎在我脑海中起作用,但星火似乎不同意。

我得到一个
Failure when resolving conflicting references in Join:
'Join Inner
...
+- AnalysisBarrier
+- Aggregate [name#17], [name#17, collect_list(fruits#61, 0, 0) AS fruitA#142]

当我将所有内容都转换为静态数据框时,它就可以正常工作。在流上下文中这不可能吗?

最佳答案

您是否尝试过重命名列名? https://issues.apache.org/jira/browse/SPARK-19860有类似问题

关于scala - Spark结构化流将聚合数据帧连接到数据帧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50587672/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com