0

我有一个关于 hive 分桶表(只分桶没有分区)优化的问题。

现在,我知道如果我们有表 A 和表 B,并且我们想使用 A.COL1 和 B.COL1(A.COL1 = B.COL1)连接它们,我们应该在 COL1 上存储表 A 和 B(由COL1) 放入相同的桶数或其倍数。

但是如果我想加入一个超过 2 个表的表怎么办?

例如,我有表 A,我想将它加入表 B 和表 C。

使用 COL1 (A.COL1 = B.COL1) 将表 A 与表 B 连接,使用 COL2 (A.COL2 = C.COL2 ) 将表 A 与表 C 连接

我应该为表 A 存储哪些列?它是由 COL1 和 COL2 存储的(由 col1、col2 聚集)吗?

总而言之,如果一个分桶表仅使用桶与多个表连接,我该如何优化它,我应该选择哪些列进行分桶?

提前致谢。

4

0 回答 0