当run数据量比较大的任务时,调整一些默认的参数,可以尽量避免OOM,以下就是我在工作中经常遇到的问题。
set mapred.job.name=your_job_name;
这个参数是设置你的任务的名字,以方便你查找任务的状态。我所在的单位,hadoop集群上的任务非常繁重,所以未冠名的临时查询,都回被kill掉,这真是非常无语。
set mapred.job.priority=VERY_HIGH;
这个参数能保证你的job具有最高优先级,一般是你非常着急的时候,使用这个。该参数的可选值还有HIGH, LOW, VERY_LOW等。一般我在做数据分析的探索性课题是,就用VERY_LOW,来保证不会干扰到其他业务的正常运行。
set hive.map.aggr=true;
这个参数,会使map阶段进行聚合操作(比如count,sum等等)。
未完,待续。。。