问题标签 [mapjoin]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
672 浏览

join - Hive,小查询块join大表,为什么不能使用map join?

我有一个关于 hive mapjoin 的问题,我知道小表何时加入大表,使用 mapjoin 更好,但是当我得到这样的 sql 时

提示:
表b是大表,行:10000W+
表a是大表,行:10000W+
表b带有谓词只返回1000行,我认为这个sql将使用mapjoin,但执行计划是在reduce端加入......

谁能告诉我为什么??

0 投票
1 回答
6213 浏览

hive - Hive Map-Join 配置之谜

有人可以清楚地解释两者之间的区别吗

配置参数?

还有这些相应的尺寸参数:

我的观察是,当在 Tez 上运行时, hive.auto.convert.join.noconditionaltask.size即使hive.mapjoin.smalltable.filesize设置的值小于小表的大小,Map-Join 也会在设置为足够高的值时工作。

为什么我们都需要

hive.auto.convert.joinhive.auto.convert.join.noconditionaltask

Apache 文档非常混乱。

0 投票
0 回答
130 浏览

performance - 如何将最左边的表缓存在内存中以用于配置单元中的左外连接

我有一个大表(1Tb 数据)需要与一个小表(100k 记录)连接

在上述情况下,我无法控制必须将哪个表缓存到内存中。我尝试使用 MAPJOIN 、 STREAMTABLE 提示,还尝试使用条件任务大小、小 tbale 大小等参数。因为小表在连接的最左侧,它没有被缓存到内存中

有没有办法控制需要缓存的表

注意:我无法更改表格位置或代码:
这里也不...

在此处输入图像描述

……也不在这里……

在此处输入图像描述

使用的参数:

0 投票
1 回答
98 浏览

join - 非 equi 中的分桶加入蜂巢

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

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

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