共计 678 个字符,预计需要花费 2 分钟才能阅读完成。
Pig 对于数据倾斜 Join 的优化原理
1、对数据抽样
2、根据样本数据,估计出某个 key 的所有的记录数以及所占的总内存,pig.skewedjoin.reduce.memusage 控制 reduce 消耗内存比例,再计算出某个 key 所需要的 reduce 个数,以及 reduce 的总数。
3、将结果存一个文件中,相当于索引文件,格式为:(swpv,0,3), (swps,4,5)(说明:<join key>,<min index of reducer>, <max index ofreducer>)
4、自定义 Patitioner,读取索引,并将 key 平均分配到 reduce 上。比如:(swpv,0,3) 将 swpv 平均分配到 编号为 0 - 3 的 reduce 中。
Pig 的安装与测试 http://www.linuxidc.com/Linux/2014-07/104039.htm
Pig 安装与配置教程 http://www.linuxidc.com/Linux/2013-04/82785.htm
Pig 安装部署及 MapReduce 模式下测试 http://www.linuxidc.com/Linux/2013-04/82786.htm
Pig 安装及本地模式测试, 体验 http://www.linuxidc.com/Linux/2013-04/82783.htm
Pig 的安装配置与基本使用 http://www.linuxidc.com/Linux/2013-02/79928.htm
Hadoop Pig 进阶语法 http://www.linuxidc.com/Linux/2013-02/79462.htm