GP如何对数据进行重分布
更新时间: 2024-10-10 17:05:39
阅读 187
GP如何对数据进行重分布
背景:
针对于greenplump出现数据分布不均匀,导致主节点资源消耗异常,以下步骤可以使用增加分布键的方式 进行数据的重新分布
提前将所需要更改的表统计出来
select a.skcnamespace, a.skcrelname, b.sotdsize, a.skccoeff from gp_toolkit.gp_skew_coefficients a, gp_toolkit.gp_size_of_table_disk b where b.sotdoid = a.skcoid and b.sotdsize > 1024*1024*100 and a.skccoeff > 10 order by b.sotdsize desc
登陆gp的主节点
su - gpadmin ## 切换到gpadmin用户
psql youdata ##登陆youdata库中
\d 'schema'.'表名';
查询出表中所有数据
例如上图中的的column的内容
选取唯一的值例如带有id的字段
查询数据量
select count(*) from 'schema'.'表名'; ##用作对比
alter table 'schema'.'表名' set distributed by ("唯一字段");
再次查询数据量是否一致
select count(*) from 'schema'.'表名';
清理表中的垃圾数据,并更新表的统计信息。
vacuum analyze 'schema'.'表名';
文档反馈
以上内容对您是否有帮助?