丰台网站制作,wordpress表结构怎么样,教人做素食的网站,微信开放平台登录#1.数据倾斜 什么是数据倾斜#xff1f; 一部分数据多 一部分数据少 造成的结果#xff1a; MR运行过慢 主要是shuffle和reduce过程慢
分组聚合导致数据倾斜
Hive未优化的分组聚合 方法1#xff1a;在MAP端直接聚合#xff08;分组聚合优化#xff09;#xff0c;减少…#1.数据倾斜 什么是数据倾斜 一部分数据多 一部分数据少 造成的结果 MR运行过慢 主要是shuffle和reduce过程慢
分组聚合导致数据倾斜
Hive未优化的分组聚合 方法1在MAP端直接聚合分组聚合优化减少Key MR失败
方法2随机数按随机数放入reduce中 解决数据倾斜 第二个Jobs按分组字段分区 因为生成随机了所以按
方法1和方法2 一起用是不影响的 先进行聚合 然后按随机数分配reduce 再启动一个job dierge job 按分组字段分区
join的数据倾斜 最后根据KEY进行分组 这里的数据倾斜的现象和影响是什么呢 1.map join 2. skew join 牺牲一个job为代价解决 将产生数据倾斜的Key去单独跑一个job 其实就是啥 map将大K提出来重新一个job 剩下的直接生成结果集然后job2的结果最后也注入结果集 根据参数判断 这里晚点多看一下 大表Join 对倾斜Key的表的key打散对关联的另一张表的key扩容 为什么
reduce 并行度 可以指定并行度也可以自动 可以设置最大值 为什么最大默认1009
可以设置reduce task数据量 估算Reduce并行度
reduce task量与数据量相关合理么 不合理因为收到的是map处理后的数据有可能已经变小很多了在reduce端小文件 但是无法获取map的数据量 3表join OBC如何优化 优化后 先进行小表合并
谓词下推 谓词下推predicate pushdown是指尽量将过滤操作前移以减少后续计算步骤的数据量。 CBO优化也会完成一部分的谓词下推优化工作因为在执行计划中谓词越靠前整个计划的计算成本就会越低。 –是否启动谓词下推predicate pushdown优化 set hive.optimize.ppd true; 白话 谓词下推先执行过滤条件再执行join hive本地模式 开启自动转换模式 符合条件用本地 不符合条件用集群 与直接设置HADOOP参数语句的不同 一个自动一个主动。
set mapreduce.framework.namelocal;