Hive - 优化多个表连接

时间:2016-03-29 21:47:57

标签: performance join hive multiple-tables

我需要在单个查询中连接多个表,然后覆盖另一个表。

  1. 焦点/驱动程序表:FACT(巨大的,ID ID)
  2. 加入表1:T1(大,但小于FACT,在ID上打印并在FACT.ID上与FACT结合)
  3. 加入表2:T2(大,但小于T1并与FACT.ID2上的FACT结合)
  4. 加入表3:T3(参考表,小到足以装入内存,加入FACT)
  5. 加入表4:T4(参考表,小到足以装入内存,加入FACT)
  6. 加入表5:T5(参考表,小到足以装入内存,加入FACT)
  7. 现在,我想知道要连接的表序列是什么,以获得最佳性能。

    我的想法和问题:

    我想首先加入与TACT的FACT,因为两者都被打破了。但是首先加入2个大表是一个好主意,因为这个巨大的连接数据集将与较小的数据集连接(这意味着要在映射器和缩减器之间移动更多数据),或者我们应该首先加入较小的表?但是,如果我们使用较小的表加入FACT,我将无法使用T1执行桶连接(因为连接的数据集不会被删除)。

0 个答案:

没有答案