Spark 中 Lookup 和 Join 的区别

Posted

技术标签:

【中文标题】Spark 中 Lookup 和 Join 的区别【英文标题】:Difference between a Lookup and a Join in Spark 【发布时间】:2017-10-25 19:37:04 【问题描述】:

我想知道是否有人知道 Spark 中关于 Joins 与 Lookups 的任何讨论?我看过这个页面:Lookup in spark dataframes,基本上每个人都说连接远优于查找,我在 google-fu 尝试找到任何支持它甚至讨论这两个主题的东西都没有成功。

【问题讨论】:

【参考方案1】:

Spark DataFrame 中的查找之类的东西根本不存在,因此它不如任何其他解决方案,连接(散列或广播)或使用本地数据结构是唯一的选择。

【讨论】:

【参考方案2】:

查找和连接是关系数据系统中的两个不同概念。因此,在一般情况下说一个优于另一个是没有意义的,因为它们具有不同的功能。查找只是查找数据,有时使用键或哈希值来优化查询速度。连接是使用两个数据集中的公共元素来创建一个新的数据集。

例如(完全假设和抽象)

查找查询1

= '你好'

加入查询1查询2

=

'你好世界'

如果 查询 2 等于 世界

【讨论】:

以上是关于Spark 中 Lookup 和 Join 的区别的主要内容,如果未能解决你的问题,请参考以下文章

求教DATASTAGE中MERGE,JOIN和LOOKUP三者之间的区别

Flink Interval Join,Temporal Join,Lookup Join区别

Flink Interval Join,Temporal Join,Lookup Join区别

Flink Interval Join,Temporal Join,Lookup Join区别

spark的join和sql的join的区别

SSIS中 merge join与lookup 哪个性能更好些