首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >基于其他数据挖掘的数据挖掘中的火花去重复列

基于其他数据挖掘的数据挖掘中的火花去重复列
EN

Stack Overflow用户
提问于 2016-06-06 17:50:59
回答 1查看 485关注 0票数 4

我正在尝试根据另一个dataframe列中的值去复制Spark dataframe列中的值。看来withColumn()只在单个数据中工作,子查询要到第2版才能完全可用,我想我可以尝试加入这些表,但这似乎有点麻烦。以下是一般的想法:

代码语言:javascript
运行
复制
df.take(1)
[Row(TIMESTAMP='20160531 23:03:33', CLIENT ID=233347, ROI NAME='my_roi', ROI VALUE=1, UNIQUE_ID='173888')]

df_re.take(1)
[Row(UNIQUE_ID='6866144:ST64PSIMT5MB:1')]

基本上,只想从df中获取值,并删除在df_re中找到的任何值,然后返回包含已删除重复项的行的整个数据帧。我相信我可以迭代每一个,但我想知道是否有更好的方法。有什么想法吗?

EN

Stack Overflow用户

回答已采纳

发布于 2016-06-06 18:10:49

这样做的方法是执行一个left_outer join,然后筛选连接的右侧为空的位置。类似于:

代码语言:javascript
运行
复制
val df1 = Seq((1,2),(2,123),(3,101)).toDF("uniq_id", "payload")
val df2 = Seq((2,432)).toDF("uniq_id", "other_data")

df1.as("df1").join(
  df2.as("df2"),
  col("df1.uniq_id") === col("df2.uniq_id"),
  "left_outer"
).filter($"df2.uniq_id".isNull)
票数 6
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37663828

复制
相关文章

相似问题

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