常用调优测试语句 :
①显示当前hive环境的参数值:
set 参数名;
如:
hive> set mapred.map.tasks;
mapred.map.tasks;
mapred.map.tasks;
②设置hive当前环境的参数值,但仅对本次连接有效
set 参数名 = 值;
如:
hive> set mapred.map.tasks;
mapred.map.tasks=2;
mapred.map.tasks=2;
hive job优化
1、并行优化
hive job的并行化执行,在job之间没有依赖关系时可以同时执行,并行数另外配置,默认为8,开启并行会消耗更多的集群资源来提高执行速度,可对特定作业作并行执行合适。
hive.exec.parallel=true;
Job并行最大数,与job并行配置配合使用,但受集群资源与Job之间是否依赖的因素影响,即最大数为64但资源稀缺或存在不依赖的job数不够也无法达到最大值。
hive.exec.parallel.thread.number=8
2、本地模式优化(减低网络IO的负载,对小任务有用,大任务还得分而治之)
hive.exec.mode.local.auto=true;
当一个job满足如下条件会使用本地模式:
①job的输入数据大小必须小于:
hive.exec.mode.local.auto.inputbytes.max (默认128)
②job的map数必须小于参数:
hive.exec.mode.local.auto.tasks.max (默认4)
③job的reduce数必须为0或者1