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

eva*_*anv 7 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

外连接提供了更多挑战.由于map-join运算符只能流式传输一个表,因此流表必须是所有行都需要的表.对于左外连接,这是连接左侧的表; 对于右外连接,右侧的表等.这意味着即使内连接可以转换为地图连接,也无法转换外连接.如果除了需要流式传输的表之外的表可以适合大小配置,则只能转换外部联接.

似乎这是说(a)外连接根本无法转换为内连接,(b)只有在不需要流式传输的表是"左连接"表时才能转换它(S).有谁知道它是哪一个?

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