GP广播与分布

发生重分布与广播情况:join  聚合。
目的:为了能在一个 segment上面进行数据join;


举例:对于一个人员地理位置表,分布键是人员id,位置是name,如果对 name进行group by,就需要对name字段进行重复布, 在进行重分布之 前,先对每一个机器都进行局部group by,重分布之后,同一个name的 数据都会分布在同一个segment机器上面,最后提交给master机器再进 行一个group by即可

GP广播与分布
 
  • EXPLAIN select event_name from ods_events GROUP BY event_name; 非分布键group by 会进行重分布

GP广播与分布

  • EXPLAIN select event_siteid from ods_events GROUP BY event_siteid; 分布键group by 不会进行重分布

GP广播与分布

  • 无分布键随机分布:
该表一定会进行广播
GP广播与分布
 
类型转化会进行重分布
GP广播与分布