免费注册
帮助文档(华北一、二)

  • DW表的记录有两种分布策略,分别是哈希分布(DISTRIBUTED BY(key))和随机分布(DISTRIBUTED RANDOMLY)。如果不指定分布策略默认使用哈希分布,并且选择primary key或者第一个column。

    在MPP环境下,查询的执行时间是由所有节点决定的。当数据出现倾斜时,会导致较低的性能以及内存溢出的情况。

    当选择分布键时,考虑以下几个方面:

    为所有的表显示地指定哈希或随机分布,不要使用默认的。

    理想的情况下,使用一个可以将数据均匀分布在各个节点上的字段作为分布键。

    不要选择可能出现在WHERE子句的字段作为分布键。

    不要选择时间或时间戳类型的字段作为分布键。

    作为分布键的字段的值应具有唯一性或非常高的散列程度。

    如果单个字段无法达到平均分布,使用多个字段作为分布键,但不要超过两个。

    如果两个字段作为分布键仍无法达到平均分布,考虑使用随机分布。

    常做join操作的大表之间,选择相同的字段作为分布键(字段的顺序也要一样)。作为分布键的字段数据类型也要一致(虽然不同数据类型的某些值是一样的,但是它们的存储方式不同,哈希之后的值会不一样,因而会分布到不同的节点上)。


文档是否已解决您的问题?

  已解决   未解决

如您有其它疑问,您也可以与我们技术专家联系探讨。

联系技术专家