有没有办法将数据帧的一列中的所有行与另一个数据帧的另一列(火花)中的所有行进行比较?

Posted

技术标签:

【中文标题】有没有办法将数据帧的一列中的所有行与另一个数据帧的另一列(火花)中的所有行进行比较?【英文标题】:Is there a way to compare all rows in one column of a dataframe against all rows in another column of another dataframe (spark)? 【发布时间】:2020-06-11 17:45:35 【问题描述】:

我在 Spark 中有两个数据帧,都有一个 IP 列。一列有超过 800000 个条目,而另一列有 4000 个条目。我想要做的是查看较小数据帧中的 IP 是否出现在大数据帧的 IP 列中。

目前我所能做的就是比较列的第一行、列的第二行等。

提前致谢!

【问题讨论】:

我认为你在描述inner join 【参考方案1】:

这样的事情怎么样,直接来自使用 EXISTS 或 NOT EXISTS 的手册,创建了临时视图,请参阅此处https://databricks-prod-cloudfront.cloud.databricks.com/public/4027ec902e239c93eaaa8714f173bcfc/2728434780191932/1483312212640900/6987336228780374/latest.html

%sql
SELECT  *
FROM    t1 A
WHERE   NOT EXISTS (SELECT  1
                      FROM  t2 B
                     WHERE  B.colx = A.colx)

【讨论】:

以上是关于有没有办法将数据帧的一列中的所有行与另一个数据帧的另一列(火花)中的所有行进行比较?的主要内容,如果未能解决你的问题,请参考以下文章

在一列中获取火花数据帧的所有非空列

对于要求,我需要通过从该数据帧的列中的列表中的值创建行来将数据帧转换为 [重复]

将大熊猫数据帧的每一列与同一数据帧的每一列相乘的最有效方法

Pyspark - 如何将多个数据帧的列连接成一个数据帧的列

R:从一个数据帧中提取行,基于列名匹配来自另一个数据帧的值

基于将另一个单元格与另一个数据帧的单元格-熊猫进行比较,更改一个数据帧中单元格的值