greenplum的分布键

gp的分布键主要功能就是为了避免数据倾斜:

  1.分布键必须自己主动指定,不能使用默认分布键(建表语句中没写分布键)

  2.分布键必须能够使数据均匀的分布到各个节点上

我曾做过数据倾斜的操作

  环境:测试环境,建表的分布键为日期,对表没有进行压缩

  状态:进行数据抽数(向我自己建的表),测试数据仓库只给了一天的,数据量过亿

  结果:一期数据全部怼到一个节点,占了1.6T的存储空间

  影响:崩掉了两个节点,对此表进行查询时跑死,truncate操作时也跑死

1.表是为了存储而生:gp表的分布键应该做到能使数据分布均匀的功能,用主键字段,或联合主键字段作为分布键。

2.表是为了计算而生:gp表的分布键应该做到关联键为分布键的功能,切不宜超过三个,这是为效率考虑。

 

posted @ 2019-12-04 16:00  vartual  阅读(3965)  评论(0编辑  收藏  举报