优先考虑大表间的 JOIN ,尽量让大表 JOIN 条件的列为 Hash 分布列(相关子 查询的相关 JOIN 也可以参考此原则),以使得大表间的 JOIN 可以直接下发到 各节点分布式执行。 其次考虑 GROUPBY ,尽量让 GROUPBY 带有 Hash 分布列,让分组聚合一步 完成。 当有多个 join 或group 列可选择时,优先选择唯一值多( count(distinct) 值大) 的列做 Hash 分布列,让数据均匀分布。 通常是等值查询的列,并且使用的频率很高的应考虑建立为 hash 分布列。
GBase8a分布列选取原则
最新推荐文章于 2024-03-08 10:49:54 发布