左连接与Hive内部连接 ​​- 内部连接和多个连接,地图连接的性能

时间:2014-06-18 21:45:46

标签: performance hadoop hive left-join database-performance

有没有人知道Hive中左连接与内连接的性能是否有差异,通过hive.auto.convert.join = True启用Map Join?

我问的原因是https://cwiki.apache.org/confluence/display/Hive/LanguageManual+JoinOptimization#LanguageManualJoinOptimization-JoinOptimization

  

外部联接提供更多挑战。由于地图连接操作符只能   流一个表,流表需要是一个表   所有行都是必需的。对于左外连接,这是   连接左侧的表格;对于右外连接,   在右侧的表等。这意味着即使是内在的   join可以转换为map-join,外连接不能   转换。只有在表格分开的情况下才能转换外部联接   从需要流式传输的那个可以适应大小   配置。

似乎这是说(a)外部联接根本无法转换为内部联接,(b)只有在不需要流式传输的表是“左”时才能转换它加入“表格。有谁知道它是哪一个?

另外,在Hive中INNER JOIN和LEFT JOIN的性能是否存在差异,就像在SQL中一样?当涉及多个左连接时,这种差异是否会变得更加放大(或者,或者,首先开始存在)?我问的原因是我正在考虑在一些左连接查找表中添加几个虚拟条目以将我的连接转换为内部...直观地看起来它可能会有所不同,性能明智,但我找不到任何文档或讨论无论如何。好奇,如果有人有这方面的经验。

0 个答案:

没有答案