4

目前 hive 确实支持非 equi 连接。但是随着叉积变得非常大,我想知道有哪些选项可以处理大型事实(2570 亿行,37 tb)和相对较小(8.7 gb)的维度表连接。

在 equi join 的情况下,我可以通过在 join column/columns 上进行适当的分桶使其轻松工作。(使用相同数量的桶进行 SMBM 实际上转换为地图连接)。但是,如果我们认为当它是非等值连接时这不会有任何优势,因为这些值将存在于其他存储桶中,实际上会触发洗牌,即减少阶段。

如果有人有任何想法来克服这个问题,请提出......

4

1 回答 1

-1

如果维度表适合内存,您可以按照此处所述创建自定义用户定义函数 (UDF) ,并在内存中执行不等连接。

于 2019-06-19T12:21:35.187 回答