join - 非 equi 中的分桶加入蜂巢
问题描述
目前 hive 确实支持非 equi 连接。但是随着叉积变得非常大,我想知道有哪些选项可以处理大型事实(2570 亿行,37 tb)和相对较小(8.7 gb)的维度表连接。
在 equi join 的情况下,我可以通过在 join column/columns 上进行适当的分桶使其轻松工作。(使用相同数量的桶进行 SMBM 实际上转换为地图连接)。但是,如果我们认为当它是非等值连接时这不会有任何优势,因为这些值将存在于其他存储桶中,实际上会触发洗牌,即减少阶段。
如果有人有任何想法来克服这个问题,请提出......
解决方案
如果维度表适合内存,您可以按照此处所述创建自定义用户定义函数 (UDF) ,并在内存中执行不等连接。
推荐阅读
- python - 熊猫在列中写入和读取并保持领先0
- php - 在 ajax 成功部分中显示数组对象值
- html - 在运行时在 Next.js 中插入基于环境的不同脚本
- python - python pandas数据框将所有元素变异为(行中的元素/最大元素)
- swift - 如何在 SwiftUI 中结合旋转和淡出动画
- python - 如何在具有多处理的for循环中获取不同函数的返回值
- python - 以最快的方式确定Python中数组中每个组重复值的索引
- android - 单击向下箭头时,我可以使用哪个颤振小部件向上滚动屏幕?
- javascript - 如何设置 Leaflet Map 的缩放以显示 React Leaflet 中的所有标记?
- php - jquery 类选择器仅适用于第一行