标签:set exec 优化 reducer hive 参数 Hive true mode
在mapper端执行join:
set hive.auto.convert.join=true;
启用本地模式:
set hive.exec.mode.local.auto=true;
启用并行执行:
set hive.exec.parallel=true;
启用严格模式/非严格模式:
set hive.mapred.mode=strict;
set hive.mapred.mode=nonstrict;
严格模式可以禁止以下三种查询:
1、对于分区表的查询必须限定where条件;
2、order by语句的查询必须使用limit;
3、限制笛卡尔积的查询。
调整每个reducer处理的数据文件大小:
set hive.exec.reducers.bytes.per.reducer=750000000;//单位为B
调整reducer的个数:
set mapred.reduce.tasks=4;
设置允许启用的最大reducer个数:
set hive.exec.reducers.max=8;
取消动态分区的严格模式(严格模式下,必须至少保证一个分区是静态的):
set hive.exec.dynamic.partition.mode=nonstrict;
解决数据倾斜:
set hive.map.aggr=true;//在mapper端聚合
set hive.groupby.skewindata=true;//相同的key也能随机分发给不同的reducer
set hive.optimize.skewjoin=true;//解决join类倾斜
待补充。
标签:set,exec,优化,reducer,hive,参数,Hive,true,mode 来源: https://www.cnblogs.com/ylwcafe/p/15264707.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。