执行计划
关联键
执行sql操作时,需要进行数据关联的键值,比如group by,join
分布键
根据一个键值,将数据分布在不同的segment上
广播和重分布
关联的数据必须在同一个节点上才能进行计算,数据的初次分布是通过分布键将数据分布在不同的segment上,但是当某个表的关联键与分布键不是同一个键时,需要通过重分布或者广播来实现数据关联
- CASE1:a表关联键是分布键,b表关联键不是分布键,进行a、b表关联(此处两表关联不是重点,关联键是做数据关联,并不是表关联)
类别 | 操作 | 操作的数据量和选择 |
重分布 | 通过关联键将b表数据重新分布到不同的segment上,再和a表进行关联 | 重分布的数据量为某表的数据量 P1 = N |
广播 | a表数据进行广播,即每个segment都有一份a表的数据,再和b表关联 | 广播的数据量是a表数据量 P2 = M * segment数L |
结果:P1小,选择重分布;P2小,选择广播