Hive計算參數設置


在Hive計算中,經常會根據計算引擎的不同(hive on spark與hive on mr),設置兩套參數。

Spark參數:

set spark.master=yarn-cluster;                  #設置spark提交模式

set hive.execution.engine=spark;              #設置計算引擎

set spark.yarn.queue=queue_name;          #設置作業提交隊列

set spark.app.name=job_name;                 #設置作業名稱

set spark.executor.instances=20;                #設置執行器個數

set spark.executor.cores=4;                       #設置執行器計算核個數

set spark.executor.memory=8g;                #設置執行器內存

set mapred.reduce.tasks=600;                   #設置任務並行度

set spark.yarn.executor.memoryOverhead=2048;            #設置jvm對外內存

set spark.memory.fraction=0.8;                 #設置內存比例(spark2.0+)

set spark.serializer=org.apache.serializer.KyroSerializer;  #設置對象序列化方式

#設置動態分區

set hive.exec.dynamic.partition=true;

set hive.exec.dynamic.partition.mode=nonstrict;

set hive.exec.dynamic.partitions.pernode=10000;

set hive.exec.dynamic.partitions=10000;

 


MR參數:

set mapreduce.job.queuename=queue_name;         #設置作業提交隊列

set hive.execution.engine=mr;                          #設置計算引擎

set mapreduce.map.memory.mb=4096;           #設置map內存

set mapreduce.map.java.opts=-Xmx3276;       #設置map jvm內存(小於map內存)

set mapreduce.reduce.memory.mb=4096;      #設置reduce內存

set mapreduce.reduce.java.opts=-Xmx3072;           ##設置reduce jvm內存(小於reduce內存)

 

#合並小文件

#Map輸入合並小文件
set hive.input.format=org.apache.hadoop.hive.ql.io.CombineHiveInputFormat; #執行Map前進行小文件合並
set mapred.max.split.size=256000000; #每個Map最大輸入大小
set mapred.min.split.size.per.node=100000000; #一個節點上split的至少的大小
set mapred.min.split.size.per.rack=100000000; #一個交換機下split的至少的大小

#輸出合並
set hive.merge.mapfiles=true #在Map-only的任務結束時合並小文件
set hive.merge.mapredfiles=true #在Map-Reduce的任務結束時合並小文件
set hive.merge.size.per.task= 256*1000*1000 #合並文件的大小
set hive.merge.smallfiles.avgsize=16000000 #當輸出文件的平均大小小於該值時,啟動一個獨立的map-reduce任務進行文件merge

#設置動態分區

set hive.exec.dynamic.partition=true;

set hive.exec.dynamic.partition.mode=nonstrict;

set hive.exec.dynamic.partitions.pernode=10000;

set hive.exec.dynamic.partitions=10000;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM