首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >spark structured将聚合数据帧连接到数据帧

spark structured将聚合数据帧连接到数据帧
EN

Stack Overflow用户
提问于 2018-05-29 23:09:06
回答 1查看 1K关注 0票数 3

我有一个流式数据帧,它可以在某个点上看起来像这样:

代码语言:javascript
复制
+--------------------+--------------------+
|               owner|              fruits|
+--------------------+--------------------+
|Brian                | apple|
Brian                | pear |
Brian                | date|
Brian                | avocado|
Bob                | avocado|
Bob                | apple|
........
+--------------------+--------------------+

我执行了一个groupBy,agg collect_list来清理东西。

代码语言:javascript
复制
val myFarmDF = farmDF.withWatermark("timeStamp", "1 seconds").groupBy("fruits").agg(collect_list(col("fruits")) as "fruitsA")

输出是每个所有者的单行和每个水果的数组。现在,我想将这个清理过的数组加入到原始的流式数据帧中,去掉fruits列,只保留fruitsA列

代码语言:javascript
复制
val joinedDF = farmDF.join(myFarmDF, "owner").drop("fruits")

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

我得到了一个

代码语言:javascript
复制
Failure when resolving conflicting references in Join:
'Join Inner
...
+- AnalysisBarrier
      +- Aggregate [name#17], [name#17, collect_list(fruits#61, 0, 0) AS fruitA#142]

当我把所有东西都转换成静态数据帧时,它工作得很好。这在流环境中是不可能的吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-05 06:24:24

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50587672

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档