hadoop記錄-hive常見設置


分區表

set hive.exec.dynamic.partition=true;
set hive.exec.dynamic.partition.mode=nonstrict;
create table test.test28_partition(id string, name string)
PARTITIONED BY (inc_day string)
STORED AS PARQUET
location 'hdfs://xxx/user/hive/warehouse/test/test27_partition';

show CREATE table test.test28_partition

desc formatted test.test10_partition;

insert into table test.test27_partition PARTITION (inc_day)
select b.dept_code,b.income,b.inc_month from dm_hrmis.ql_jobmatch_dept_message_income_v2 b limit 100000;

1.Hive java.lang.RuntimeException: problem advancing post rec#4010960 的處理方法

處理方法1. 增大Reduce內存

set mapreduce.reduce.memory.mb=8192;

set mapreduce.reduce.java.opts="-Xmx7000m -Xms1800m";

處理方法2. 增大Reduce的個數

增大reduce的個數,目的是減少每個reduce的數據量,使reduce的內存夠用。
如以下參數設置每128M數據一個reduce,如果默認設置為256M,則生成的reduce的數量增大一倍。

set hive.exec.reducers.bytes.per.reducer=128000000;

處理方法3. 同時增大Reduce內存和增大Reduce的個數

如果是MapReduce運行,設置運行Reduce時,把shuffle緩沖區保留的數據為0. 設置以下參數不為0可以加大程序的執行速度。如reduce的 shuffle緩沖區大小為2G時,設置此值為0.5,則運行Reduce時,可以有1Gshuffle 數據在內存中。這部分數據不用先寫到硬盤,運行Reduce時再從硬盤讀入。但是運行Reduce時,可能會造成內存不足。

mapreduce.reduce.input.buffer.percent=0;

處理方法5. 傾斜的數據單獨處理
如果前面的方法不能解決問題,說明數據同一key的數據過多,不論reduce設置多少,他們還是進入同一個reduce處理。如果Reduce內存已經設置系統的上限還是報錯,只能把傾斜的數據單獨處理。 用兩個 SQL ,一個SQL只處理傾斜的數據,另一個SQL處理其他數據。
2.動態分區設置

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

3.小文件合並設置

<property>
<name>hive.merge.mapfiles</name>
<value>true</value>
</property>
<property>
<name>hive.merge.mapredfiles</name>
<value>true</value>
</property>
<property>
<name>hive.merge.size.per.task</name>
<value>268435456</value>
</property>
<property>
<name>hive.merge.smallfiles.avgsize</name>
<value>67108864</value>
</property>

-- 設置文件合並
set abaci.is.dag.job=false;
set hive.merge.mapredfiles=true;
set mapred.combine.input.format.local.only=false;
set hive.merge.smallfiles.avgsize=100000000;
-- 在map only的情況下,如上的參數如果沒有生效,可以設置如下
-- 在HQL的最外層增加distribute by rand()
select * from XXX distribute by rand()

4.查看表結構信息

desc formatted  xxx.xxx;

show create table xxx.xxx;

5.隊列設置

老版本一般 mapred開頭 
新版本是mapreduce開頭 

set mapred.job.queue.name=queue3;

SET mapreduce.job.queuename=queue3;

set mapred.queue.names=queue3;

6.執行引擎設置

set hive.execution.engine=spark;

set hive.execution.engine=mr2;

set hive.execution.engine=tez;

7.使用union all的時候,系統資源足夠的情況下,為了加快hive處理速度,可以設置如下參數實現並發執行

set mapred.job.priority=VERY_HIGH;

set hive.exec.parallel=true;

8.設置map reduce個數

-- 設置map capacity
set mapred.job.map.capacity=2000;
set mapred.job.reduce.capacity=2000;
-- 設置每個reduce的大小 set hive.exec.reducers.bytes.per.reducer=500000000; -- 直接設置個數
set mapred.reduce.tasks = 15;
其他參數設置
hive.cli.print.header=true   查詢結果是否顯示表頭
hive.exec.mode.local.auto=true  設置自動使用本地化而不執行MapReduce
hive.auto.convert.join=true  Join優化,開啟小表標記
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
3、job合並輸入小文件(會啟動新的job合並文件)
hive.merge.smallfiles.avgsize=256000000;
當輸出文件平均大小小於該值,啟動新job合並文件
hive.merge.size.per.task=64000000;
合並之后的文件大小
4.jvm重利用
mapred.job.reuse.jvm.num.tasks=20;
JVM重利用可以使job長時間保留slot(下個map無需再次初始化jvm),直到作業結束,這個對於較多任務和較多小文件的任務是非常有意義的,減少執行時間。當然這個值不能設置過大,因為有些作業會有reduce任務,如果reduce任務沒有完成,則map認為占用的slot不能釋放,其他的作業可能就需要等待。
5、壓縮數據
中間壓縮就是處理hive查詢的多個job之間的數據,對於中間壓縮,最好選擇一個節省CPU耗時的壓縮方式
hive.exec.compress.intermediate=true;//決定查詢的中間 map/reduce job (中間 stage)的輸出是否為壓縮格式
hive.intermediate.compression.codec=org.apache.hadoop.io.compress.SnappyCodec; //中間 map/reduce job 的壓縮編解碼器的類名(一個壓縮編解碼器可能包含多種壓縮類型),該值可能在程序中被自動設置。
hive.intermediate.compression.type=BLOCK  (壓縮單元為塊壓縮) //中間 map/reduce job 的壓縮類型,如 "BLOCK""RECORD"
hive查詢最終的輸出也可以壓縮
hive.exec.compress.output=true; //決定查詢中最后一個 map/reduce job 的輸出是否為壓縮格式
mapred.output.compression.codec=orgapache.hadoop.io.compress.GzipCodec;  // 壓縮格式
mapred.output.compression.type=BLOCK  //壓縮類型
6、Map優化
mapred.map.taskes=10;
(1)默認map個數
default_num = total_size / block_size;
(2)期望大小
goal_num = mapred.map.casks;
(3)設置處理的文件大小
split_size = max(mapred.min.split.size,block_size);
split_num = total_size / split_size;
(4)計算的map個數
compute_map_num = min(split_num,max(default_num,goal_num));
 經過以上的分析,在設置map個數的時候,可以簡單的總結為一下的幾點:
(1)如果增大map個數,則設置mapred.map.tasks為一個較大的值
(2)如果想減小map個數,則設置mapred.min.split.size為一個較大的值。
情況1:輸入文件size巨大,但不是小文件)
增大mapred.min.split.size的值
情況2:輸入文件數量巨大,且都是小文件,就是單個文件的size小於blockSize。(造成網絡負載大)
這種情況通過增大mapred.min.split.size不可行,需要使用CombineFileInputFormat將多個input path合並成一個InputSplit送個mapper處理,從而減少mapper的數量
map端聚合(執行combine)
hive.map.aggr=true; //消耗更多的內存來提高效率
推測執行(多啟動一個map來防止map失敗)
mapred.map.tasks.speculative.execution
mapred.map.tasks.speculative.execution=true
mapred.reduce.tasks.speculative.execution=true
hive.mapred.reduce.tasks.speculative.execution=true;
7、Hive Shuffle優化
Map端
Reduce端
io.sort.mb
io.sort.spill.percent
min.num.spill.for.combine
io.sort.factor
io.sort.record.percent
mapred.reduce.parallel.copies
mapred.reduce.copy.backoff
io.sort.factor
mapred.job.shuffle.input.buffer.percent
mapred.job.reduce.input.buffer.percent
 
 
 
8、Hive Reduce優化
(1)設置reduce數
mapred.reduce.tasks = 10  (設置了也未必全用,使用個數公式如下)
hive.exec.reducers.max 默認999
hive.exec.reducer.bytes.per.reducer 默認:1G
reduce使用個數的計算公式
numRTasks = min [ maxReducers,input.size / perReducer ]
maxReducers = hive.exec.reducers.max
perReducer = hive.exec.reducers.bytes.per.reducer
(2)推測執行
mapred.reduce.tasks.speculative.execution
hive.mapred.reduce.tasks.speculative.excution
9、數據傾斜優化
注意:如果hql使用多個distinct是無法使用這個參數去解決傾斜問題,可以改用sum()+group by解決
hive.optimize.skewjoin  //是否優化數據傾斜的 Join,對於傾斜的 Join 會開啟新的 Map/Reduce Job 處理。 
數據傾斜時負載均衡,當選項設定為true,生成的查詢計划會有兩個MRJob。第一個MRJob 中,
Map的輸出結果集合會隨機分布到Reduce中,每個Reduce做部分聚合操作,並輸出結果,這樣處理的結果是相同的GroupBy Key
有可能被分發到不同的Reduce中,從而達到負載均衡的目的;第二個MRJob再根據預處理的數據結果按照GroupBy Key分布到
Reduce中(這個過程可以保證相同的GroupBy Key被分布到同一個Reduce中),最后完成最終的聚合操作。
默認值:false     
hive.skewjoin.key    //傾斜鍵數目閾值,超過此值則判定為一個傾斜的 Join 查詢。   
默認值: 1000000     
hive.skewjoin.mapjoin.map.tasks  //處理數據傾斜的 Map Join 的 Map 數上限。   
默認值: 10000     
hive.skewjoin.mapjoin.min.split  //處理數據傾斜的 Map Join 的最小數據切分大小,以字節為單位,默認為32M。   
默認值:33554432    
hive.exec.mode.local.auto  
決定 Hive 是否應該自動地根據輸入文件大小,在本地運行(在GateWay運行)   
默認值:true     
hive.exec.mode.local.auto.inputbytes.max  
如果hive.exec.mode.local.auto 為 true,當輸入文件大小小於此閾值時可以自動在本地模式運行,默認是 128兆。   
默認值:134217728L     
hive.exec.mode.local.auto.tasks.max  
如果hive.exec.mode.local.auto 為 true,當 Hive Tasks(Hadoop Jobs)小於此閾值時,可以自動在本地模式運行。  
默認值:4     
hive.auto.convert.join  
是否根據輸入小表的大小,自動將 Reduce 端的 Common Join 轉化為 Map Join,從而加快大表關聯小表的 Join 速度。   
默認值:false     
hive.mapred.local.mem  
Mapper/Reducer在本地模式的最大內存量,以字節為單位,0為不限制。   
默認值:0     
mapred.reduce.tasks    
所提交 Job 的 reduer 的個數,使用 Hadoop Client 的配置。     
默認值:1
hive.exec.scratchdir  
HDFS路徑,用於存儲不同 map/reduce 階段的執行計划和這些階段的中間輸出結果。  
默認值:/tmp/<user.name>/hive     
hive.metastore.warehouse.dir  
Hive 默認的數據文件存儲路徑,通常為 HDFS 可寫的路徑。   
默認值:"     
hive.groupby.skewindata  
決定 group by 操作是否支持傾斜的數據。   
默認值:false     
hive.merge.mapfiles  
在Map-only的任務結束時合並小文件。
是否開啟合並 Map 端小文件,對於 Hadoop 0.20 以前的版本,起一個新的 Map/Reduce Job,對於 0.20 以后的版本,則是起使用 CombineInputFormat 的 MapOnly Job。
是否開啟合並 Map 端小文件,當Hive輸入由很多個小文件組成,由於每個小文件都會啟動一個map任務,如果文件過小,會使得map任務啟動和初始化的時間大於邏輯處理的時間,造成資源浪費,甚至OOM。為此,當我們啟動一個任務,發現輸入數據量小但任務數量多時,需要注意在Map前端進行輸入合並。當然,在我們向一個表寫數據時,也需要注意輸出文件大小   
默認值:true     
hive.merge.mapredfiles    
是否開啟合並 Map/Reduce 小文件,對於 Hadoop 0.20 以前的版本,起一個新的 Map/Reduce Job,對於 0.20 以后的版本,則是起使用 CombineInputFormat 的 MapOnly Job。
是否開啟合並 Map/Reduce 小文件,即是否在Map-Reduce的任務結束時合並小文件。   
默認值:false 
hive.limit.optimize.enable    
當使用LIMIT語句時,其可以對數據源進行抽樣,避免執行整個查詢語句,然后再返回部分結果
但這個功能有個缺點,有可能輸入中有用的數據永遠不會被處理到。 
hive.default.fileformat  
Hive 默認的輸出文件格式,與創建表時所指定的相同,
可選項為 'TextFile' 、 'SequenceFile' 或者 'RCFile'。    'TextFile'      
hive.mapred.mode   
Map/Redure 模式,如果設置為 strict,將禁止3中類型的查詢:
1.分區表的where篩選條件必須含有分區字段;
2.對使用了order by語句的查詢,必須使用limit語句(order by語句為執行排序會將所有的結果集數據分發到同一個reducer中進行處理,增加limit語句可以防止reducer額外執行很長時間)
3.限制笛卡兒積的查詢,就是有where語句,而沒有on語句。   
默認值: 'nonstrict'     
hive.exec.parallel    
是否開啟 map/reduce job的並發提交。   
默認值:  false     
hive.security.authorization.enabled  
Hive 是否開啟權限認證。   
默認值:false     
hive.exec.plan    
Hive 執行計划的路徑,會在程序中自動進行設置  
默認值:null     
hive.exec.submitviachild  
決定 map/reduce Job 是否應該使用各自獨立的 JVM 進行提交(Child進程),默認情況下,使用與 HQL compiler 相同的 JVM 進行提交。   
默認值:false     
hive.exec.script.maxerrsize  
通過 TRANSFROM/MAP/REDUCE 所執行的用戶腳本所允許的最大的序列化錯誤數。  
默認值:100000     
hive.exec.script.allow.partial.consumption  
是否允許腳本只處理部分數據,如果設置為 true ,因 broken pipe 等造成的數據未處理完成將視為正常。  
默認值:false     
hive.exec.compress.output  
決定查詢中最后一個 map/reduce job 的輸出是否為壓縮格式。   
默認值:false     
hive.exec.compress.intermediate   
決定查詢的中間 map/reduce job (中間 stage)的輸出是否為壓縮格式。   
默認值:false     
hive.intermediate.compression.codec  
中間 map/reduce job 的壓縮編解碼器的類名(一個壓縮編解碼器可能包含多種壓縮類型),該值可能在程序中被自動設置。           
hive.intermediate.compression.type  
中間 map/reduce job 的壓縮類型,如 "BLOCK""RECORD"。      
hive.exec.reducers.bytes.per.reducer  
每一個 reducer 的平均負載字節數。   
默認值:1000000000     
hive.exec.reducers.max  
設置reducer 個數的上限。
可以阻止某個查詢消耗過多的reducer資源,對這個屬性值大小的設定,一個建議的計算公式如下:
(集群總Reduce槽位個數*1.5) / (執行中查詢的平均個數)
1.5倍數是一個經驗系數,用於防止未充分利用集群的情況。   
默認值:999   
hive.exec.rowoffset
hive提供了2種虛擬列:一種用於將要進行划分的輸入文件名,另一種用於文件中的塊內偏移量。當hive產生了非預期的或null的返回結果時,可以通過這些虛擬列診斷查詢。通過這些“字段”,用戶可以查看到哪個文件甚至哪些數據導致出現問題:
SELECT 
INPUT_FILE_NAME,
BLOCK_OFFSET_INSIDE_FILE,
ROW_OFFSET_INSIDE_BLOCK,
line 
FROM hive_text 
WHERE line LIKE '%hive%' LIMIT 2;
默認值:true 
hive.multigroupby.singlemr
一個特別的優化,是否將查詢中的多個group by操作組裝到單個MapReduce任務中。
默認值:false
hive.exec.pre.hooks  
語句層面,整條 HQL 語句在執行前的 hook 類名。   
默認值:"     
hive.exec.post.hooks  
語句層面,整條 HQL 語句在執行完成后的 hook 類名。           
hive.exec.parallel.thread.number  
並發提交時的並發線程的個數。  
默認值:8     
hive.mapred.reduce.tasks.speculative.execution  
是否開啟 reducer 的推測執行,與mapred.reduce.tasks.speculative.execution 作用相同。   
默認值:false     
hive.exec.counters.pull.interval  
客戶端拉取 progress counters 的時間,以毫秒為單位。   
默認值:1000L      
hive.exec.dynamic.partition  
是否打開動態分區。   
默認值:false     
hive.exec.dynamic.partition.mode  
打開動態分區后,動態分區的模式,有 strict 和 nonstrict 兩個值可選,strict 要求至少包含一個靜態分區列,nonstrict 則無此要求。   
默認值:strict     
hive.exec.max.dynamic.partitions  
所允許的最大的動態分區的個數。  
默認值:1000     
hive.exec.max.dynamic.partitions.pernode  
單個 reduce 結點所允許的最大的動態分區的個數。  
默認值:100     
hive.exec.default.partition.name    
默認的動態分區的名稱,當動態分區列為''或者null時,使用此名稱。''    '__HIVE_DEFAULT_PARTITION__'      
hadoop.bin.path   
HadoopClient 可執行腳本的路徑,該路徑用於通過單獨的 JVM 提交 job,使用 Hadoop Client 的配置。   
默認值:$HADOOP_HOME/bin/hadoop     
hadoop.config.dir   
HadoopClient 配置文件的路徑,使用 HadoopClient 的配置。  
默認值:$HADOOP_HOME/conf     
fs.default.name   
Namenode 的 URL,使用 Hadoop Client 的配置。   
默認值:file:///     
map.input.file   
Map 的輸入文件,使用 Hadoop Client 的配置。   
默認值:null     
mapred.input.dir   
Map 的輸入目錄,使用 Hadoop Client 的配置。   
默認值: null     
mapred.input.dir.recursive  
輸入目錄是否可遞歸嵌套,使用 HadoopClient 的配置。  
默認值:false     
mapred.job.tracker   
Job Tracker的 URL,使用 Hadoop Client 的配置,如果這個配置設置為 'local',將使用本地模式。   
默認值:local     
mapred.job.name   
Map/Reduce 的 job 名稱,如果沒有設置,則使用生成的 job name,使用 Hadoop Client 的配置。   
默認值:null     
mapred.reduce.tasks.speculative.execution  
Map/Reduce 推測執行,使用 Hadoop Client 的配置。   
默認值:null     
hive.metastore.metadb.dir  
Hive 元數據庫所在路徑。   
默認值:"     
hive.metastore.uris  
Hive 元數據的 URI,多個 thrift://地址,以英文逗號分隔。   
默認值:"     
hive.metastore.connect.retries  
連接到 Thrift 元數據服務的最大重試次數。   
默認值:3     
javax.jdo.option.ConnectionPassword  
JDO 的連接密碼。   
默認值:"     
hive.metastore.ds.connection.url.hook  
JDO 連接 URL Hook 的類名,該 Hook 用於獲得 JDO 元數據庫的連接字符串,為實現了JDOConnectionURLHook 接口的類。  
默認值:"     
javax.jdo.option.ConnectionURL  
元數據庫的連接 URL。   
默認值:"     
hive.metastore.ds.retry.attempts  
當沒有 JDO 數據連接錯誤后,嘗試連接后台數據存儲的最大次數。  
默認值:1     
hive.metastore.ds.retry.interval  
每次嘗試連接后台數據存儲的時間間隔,以毫秒為單位。  
默認值:1000     
hive.metastore.force.reload.conf  
是否強制重新加載元數據配置,一但重新加載,該值就會被重置為 false。   
默認值:false     
hive.metastore.server.min.threads  
Thrift 服務線程池的最小線程數。   
默認值:8     
hive.metastore.server.max.threads  
Thrift 服務線程池的最大線程數。   
默認值:0x7fffffff     
hive.metastore.server.tcp.keepalive  
Thrift 服務是否保持 TCP 連接。   
默認值:true     
hive.metastore.archive.intermediate.original  
用於歸檔壓縮的原始中間目錄的后綴,這些目錄是什么並不重要,只要能夠避免沖突即可。  
默認值:'_INTERMEDIATE_ORIGINAL'     
hive.metastore.archive.intermediate.archived  
用於歸檔壓縮的壓縮后的中間目錄的后綴,這些目錄是什么並不重要,只要能夠避免沖突即可。  
默認值:'_INTERMEDIATE_ARCHIVED'     
hive.metastore.archive.intermediate.extracted  
用於歸檔壓縮的解壓后的中間目錄的后綴,這些目錄是什么並不重要,只要能夠避免沖突即可。  
默認值:'_INTERMEDIATE_EXTRACTED'     
hive.cli.errors.ignore  
是否忽略錯誤,對於包含多的 SQL 文件,可以忽略錯誤的行,繼續執行下一行。  
默認值:false     
hive.session.id   
當前會話的標識符,格式為“用戶名_時間”用於記錄在 job conf 中,一般不予以手動設置。   
默認值:"     
hive.session.silent  
當前會話是否在 silent 模式運行。 如果不是 silent 模式,所以 info 級打在日志中的消息,都將以標准錯誤流的形式輸出到控制台。   
默認值:false     
hive.query.string   
當前正在被執行的查詢字符串。  
默認值:"     
hive.query.id   
當前正在被執行的查詢的ID。   
默認值: "     
hive.query.planid   
當前正在被執行的 map/reduce plan 的 ID。   
默認值: "     
hive.jobname.length  
當前 job name 的最大長度,hive 會根據此長度省略 job name 的中間部分。   
默認值:50     
hive.jar.path   
通過單獨的 JVM 提交 job 時,hive_cli.jar 所在的路徑   
默認值:"     
hive.aux.jars.path   
各種由用戶自定義 UDF 和 SerDe 構成的插件 jar 包所在的路徑。   
默認值:"     
hive.added.files.path  
ADD FILE 所增加的文件的路徑。   
默認值:"     
hive.added.jars.path  
ADD JAR 所增加的文件的路徑。   
默認值: "     
hive.added.archives.path  
ADDARCHIEVE 所增加的文件的路徑。  
默認值:"     
hive.table.name   
當前的 Hive 表的名稱,該配置將通過 ScirptOperator 傳入到用戶腳本中。   
默認值:"     
hive.partition.name  
當前的 Hive 分區的名稱,該配置將通過 ScriptOperator 傳入到用戶腳本中。   
默認值:"     
hive.script.auto.progress  
腳本是否周期性地向 Job Tracker 發送心跳,以避免腳本執行的時間過長,使 JobTracker 認為腳本已經掛掉了。  
默認值:false     
hive.script.operator.id.env.var  
用於識別 ScriptOperator ID 的環境變量的名稱。   
默認值:'HIVE_SCRIPT_OPERATOR_ID'     
hive.alias   
當前的 Hive 別名,該配置將通過 ScriptOpertaor 傳入到用戶腳本中。   
默認值:"     
hive.map.aggr   
決定是否可以在 Map 端進行聚合操作   
默認值:true     
hive.join.emit.interval  
Hive Join 操作的發射時間間隔,以毫秒為單位。  
默認值:1000     
hive.join.cache.size  
Hive Join 操作的緩存大小,以字節為單位。  
默認值:25000     
hive.mapjoin.bucket.cache.size  
Hive MapJoin 桶的緩存大小,以字節為單位。  
默認值:100     
hive.mapjoin.size.key  
Hive MapJoin 每一行鍵的大小,以字節為單位。  
默認值:10000     
hive.mapjoin.cache.numrows  
Hive MapJoin 所緩存的行數。  
默認值:25000     
hive.groupby.mapaggr.checkinterval  
對於 Group By 操作的 Map 聚合的檢測時間,以毫秒為單位。  
默認值:100000     
hive.map.aggr.hash.percentmemory  
Hive Map 端聚合的哈稀存儲所占用虛擬機的內存比例。  
默認值:0.5     
hive.map.aggr.hash.min.reduction  
Hive Map 端聚合的哈稀存儲的最小 reduce 比例。   
默認值:0.5     
hive.udtf.auto.progress   
Hive UDTF 是否周期性地報告心跳,當 UDTF 執行時間較長且不輸出行時有用。  
默認值:false     
hive.fileformat.check  
Hive 是否檢查輸出的文件格式。   
默認值:true     
hive.querylog.location   
Hive 實時查詢日志所在的目錄,如果該值為空,將不創建實時的查詢日志。  
默認值:'/tmp/$USER'     
hive.script.serde   
Hive 用戶腳本的 SerDe。   
默認值:'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe'     
hive.script.recordreader  
Hive 用戶腳本的 RecordRedaer。   
默認值:'org.apache.hadoop.hive.ql.exec.TextRecordReader'     
hive.script.recordwriter  
Hive 用戶腳本的 RecordWriter。   
默認值:'org.apache.hadoop.hive.ql.exec.TextRecordWriter'     
hive.hwi.listen.host  
HWI 所綁定的 HOST 或者 IP。   
默認值:'0.0.0.0'     
hive.hwi.listen.port  
HWI 所監聽的 HTTP 端口。   
默認值:9999     
hive.hwi.war.file   
HWI 的 war 文件所在的路徑。   
默認值:$HWI_WAR_FILE     
hive.test.mode   
是否以測試模式運行 Hive   
默認值:false     
hive.test.mode.prefix  
Hive 測試模式的前綴。   
默認值:'test_'     
hive.test.mode.samplefreq  
Hive 測試模式取樣的頻率,即每秒鍾取樣的次數。  
默認值:32     
hive.test.mode.nosamplelist  
Hive 測試模式取樣的排除列表,以逗號分隔。  
默認值:"     
hive.merge.size.per.task  
每個任務合並后文件的大小,根據此大小確定 reducer 的個數,默認 256 M。   
默認值:256000000     
hive.merge.smallfiles.avgsize  
需要合並的小文件群的平均大小,默認 16 M。   
默認值:16000000     
hive.optimize.skewjoin  
是否優化數據傾斜的 Join,對於傾斜的 Join 會開啟新的 Map/Reduce Job 處理。   
默認值:false     
hive.skewjoin.key    傾斜鍵數目閾值,超過此值則判定為一個傾斜的 Join 查詢。   
默認值: 1000000     
hive.skewjoin.mapjoin.map.tasks  
處理數據傾斜的 Map Join 的 Map 數上限。   
默認值: 10000     
hive.skewjoin.mapjoin.min.split  
處理數據傾斜的 Map Join 的最小數據切分大小,以字節為單位,默認為32M。   
默認值:33554432     
mapred.min.split.size  
Map ReduceJob 的最小輸入切分大小,與 HadoopClient 使用相同的配置。  
默認值:1     
hive.mergejob.maponly  
是否啟用 Map Only 的合並 Job。   
默認值:true     
hive.heartbeat.interval  
Hive Job 的心跳間隔,以毫秒為單位。   
默認值:1000     
hive.mapjoin.maxsize  
Map Join 所處理的最大的行數。超過此行數,Map Join進程會異常退出。   
默認值:1000000     
hive.hashtable.initialCapacity  
Hive 的 Map Join 會將小表 dump 到一個內存的 HashTable 中,該 HashTable 的初始大小由此參數指定。   
默認值:100000     
hive.hashtable.loadfactor  
Hive 的 Map Join 會將小表 dump 到一個內存的 HashTable 中,該 HashTable 的負載因子由此參數指定。   
默認值:0.75     
hive.mapjoin.followby.gby.localtask.max.memory.usage  
MapJoinOperator后面跟隨GroupByOperator時,內存的最大使用比例   
默認值:0.55     
hive.mapjoin.localtask.max.memory.usage  
Map Join 的本地任務使用堆內存的最大比例  
默認值:0.9     
hive.mapjoin.localtask.timeout  
Map Join 本地任務超時,淘寶版特有特性  
默認值:600000     
hive.mapjoin.check.memory.rows  
設置每多少行檢測一次內存的大小,如果超過hive.mapjoin.localtask.max.memory.usage 則會異常退出,Map Join 失敗。   
默認值:100000     
hive.debug.localtask  
是否調試本地任務,目前該參數沒有生效  
默認值:false     
hive.task.progress   
是否開啟 counters ,以記錄 Job 執行的進度,同時客戶端也會拉取進度 counters。   
默認值:false     
hive.input.format   
Hive 的輸入 InputFormat。   
默認是org.apache.hadoop.hive.ql.io.HiveInputFormat,
其他還有org.apache.hadoop.hive.ql.io.CombineHiveInputFormat     
hive.enforce.bucketing  
是否啟用強制 bucketing。   
默認值:false     
hive.enforce.sorting  
是否啟用強制排序。   
默認值:false     
hive.mapred.partitioner  
Hive 的 Partitioner 類。   
默認值:'org.apache.hadoop.hive.ql.io.DefaultHivePartitioner'     
hive.exec.script.trust  
Hive ScriptOperator For trust   
默認值:false     
hive.hadoop.supports.splittable.combineinputformat  
是否支持可切分的CombieInputFormat   
默認值:false     
hive.optimize.cp   
是否優化列剪枝。   
默認值:true     
hive.optimize.ppd   
是否優化謂詞下推。   
默認值:true     
hive.optimize.groupby  
是否優化 group by。   
默認值:true     
hive.optimize.bucketmapjoin  
是否優化 bucket map join。   
默認值:false     
hive.optimize.bucketmapjoin.sortedmerge  
是否在優化 bucket map join 時嘗試使用強制 sorted merge bucketmap join。   默認值:false     
hive.optimize.reducededuplication  
是否優化 reduce 冗余。   
默認值:true     
hive.hbase.wal.enabled  
是否開啟 HBase Storage Handler。   
默認值:true     
hive.archive.enabled  
是否啟用 har 文件。   
默認值:false     
hive.archive.har.parentdir.settable  
是否啟用 har 文件的父目錄可設置。   
默認值:false     
hive.outerjoin.supports.filters  
是否啟動外聯接支持過濾條件。  
默認值:true     
hive.fetch.output.serde  
對於 Fetch Task 的 SerDe 類   
默認值:'org.apache.hadoop.hive.serde2.DelimitedJSONSerDe'     
hive.semantic.analyzer.hook  
Hive 語義分析的 Hook,在語義分析階段的前后被調用,用於分析和修改AST及生成的執行計划,以逗號分隔。  
默認值:null     
hive.cli.print.header  
是否顯示查詢結果的列名,默認為不顯示。  
默認值:false     
hive.cli.encoding   
Hive 默認的命令行字符編碼。   
默認值:'UTF8'     
hive.log.plan.progress  
是否記錄執行計划的進度。   
默認值:true     
hive.pull.progress.counters  
是否從 Job Tracker 上拉取 counters,淘寶特有配置項。   
默認值:true     
hive.job.pre.hooks   
每個 Job 提交前執行的 Hooks 列表,以逗號分隔,淘寶特有配置項。  
默認值:"     
hive.job.post.hooks  
每個 Job 完成后執行的 Hooks 列表,以逗號分隔,淘寶特有配置項。  
默認值:"     
hive.max.progress.counters  
Hive 最大的進度 couters 個數,淘寶特有配置項。   
默認值:100     
hive.exec.script.wrapper  
ScriptOperator 腳本調用的封裝,通常為腳本解釋程序。例如,可以把該變量值的名稱設置為"python",那么傳遞到 Script Operator 的腳本將會以"python<script command>"的命令形式進行調用,如果這個值為null或者沒有設置,那么該腳本將會直接以"<scriptcommand>"的命令形式調用。  
默認值:null     
hive.check.fatal.errors.interval  
客戶端通過拉取 counters 檢查嚴重錯誤的周期,以毫秒為單位,淘寶特有配置項。  
默認值:5000L

hive.exec.mode.local.auto 
決定 Hive 是否應該自動地根據輸入文件大小,在本地運行(在GateWay運行) 
true

hive.exec.mode.local.auto.inputbytes.max 
如果 hive.exec.mode.local.auto 為 true,當輸入文件大小小於此閾值時可以自動在本地模式運行,默認是 128兆。 
134217728L

hive.exec.mode.local.auto.tasks.max 
如果 hive.exec.mode.local.auto 為 true,當 Hive Tasks(Hadoop Jobs)小於此閾值時,可以自動在本地模式運行。 
4

hive.auto.convert.join 
是否根據輸入小表的大小,自動將 Reduce 端的 Common Join 轉化為 Map Join,從而加快大表關聯小表的 Join 速度。 
false

hive.mapred.local.mem 
Mapper/Reducer 在本地模式的最大內存量,以字節為單位,0為不限制。 
0

mapred.reduce.tasks 
所提交 Job 的 reduer 的個數,使用 Hadoop Client 的配置。 
默認是-1,表示Job執行的個數交由Hive來分配
-1

hive.exec.scratchdir 
HDFS路徑,用於存儲不同 map/reduce 階段的執行計划和這些階段的中間輸出結果。 
/tmp/<user.name>/hive

hive.metastore.warehouse.dir 
Hive 默認的數據文件存儲路徑,通常為 HDFS 可寫的路徑。 
"

hive.groupby.skewindata 
決定 group by 操作是否支持傾斜的數據。 
原理是,在Group by中,對一些比較小的分區進行合並
false

hive.merge.mapfiles 
是否開啟合並 Map 端小文件,對於 Hadoop 0.20 以前的版本,起一首新的 Map/Reduce Job,對於 0.20 以后的版本,則是起使用 CombineInputFormat 的 MapOnly Job。 
true

hive.merge.mapredfiles 
是否開啟合並 Map/Reduce 小文件,對於 Hadoop 0.20 以前的版本,起一首新的 Map/Reduce Job,對於 0.20 以后的版本,則是起使用 CombineInputFormat 的 MapOnly Job。 
false

hive.default.fileformat 
Hive 默認的輸出文件格式,與創建表時所指定的相同,可選項為 'TextFile' 、 'SequenceFile' 或者 'RCFile'。 
'TextFile'

hive.mapred.mode 
Map/Redure 模式,如果設置為 strict,將不允許笛卡爾積。 
'nonstrict'

hive.exec.parallel 
是否開啟 map/reduce job的並發提交。 
默認Map/Reduce job是順序執行的,默認並發數量是8,可以配置
false

hive.security.authorization.enabled 
Hive 是否開啟權限認證。 
開啟認證后,需要執行授權語句才能對表進行操作,詳細請見hive.apache.org
false

hive.exec.plan 
Hive 執行計划的路徑,會在程序中自動進行設置 
null

hive.exec.submitviachild 
決定 map/reduce Job 是否應該使用各自獨立的 JVM 進行提交(Child進程),默認情況下,使用與 HQL compiler 相同的 JVM 進行提交。 
false

hive.exec.script.maxerrsize 
通過 TRANSFROM/MAP/REDUCE 所執行的用戶腳本所允許的最大的序列化錯誤數。 
100000

hive.exec.script.allow.partial.consumption 
是否允許腳本只處理部分數據,如果設置為 true ,因broken pipe等造成的數據未處理完成將視為正常。 
false

hive.exec.compress.output 
決定查詢中最后一個 map/reduce job 的輸出是否為壓縮格式。 
false

hive.exec.compress.intermediate 
決定查詢的中間 map/reduce job(中間 stage)的輸出是否為壓縮格式。
對於只進行Map的數據就沒有必要了。壓縮可以減少網絡IO,提高效率。 
false

hive.intermediate.compression.codec 
中間 map/reduce job 的壓縮編解碼器的類名(一個壓縮編解碼器可能包含多種壓縮類型),該值可能在程序中被自動設置。 LZO


hive.intermediate.compression.type 
中間 map/reduce job 的壓縮類型,如 "BLOCK" "RECORD"。

hive.exec.reducers.bytes.per.reducer 
每一個 reducer 的平均負載字節數。
改變此參數可以用來影響hive的啟動的Reducer的個數,默認每個Reducer處理1G數據
1000000000

hive.exec.reducers.max 
reducer 個數的上限。 
999

hive.exec.pre.hooks 
語句層面,整條 HQL 語句在執行前的 hook 類名。 
"

hive.exec.post.hooks 
語句層面,整條 HQL 語句在執行完成后的 hook 類名。


hive.exec.parallel.thread.number 
並發提交時的並發線程的個數。 默認8個
8

hive.mapred.reduce.tasks.speculative.execution 
是否開啟 reducer 的推測執行,與 mapred.reduce.tasks.speculative.execution 作用相同。 
false

hive.exec.counters.pull.interval 
客戶端拉取 progress counters 的時間,以毫秒為單位。 
1000L

hive.exec.dynamic.partition 
是否打開動態分區。 需要打開
false

hive.exec.dynamic.partition.mode 
打開動態分區后,動態分區的模式,有 strict 和 nonstrict 兩個值可選,strict 要求至少包含一個靜態分區列,nonstrict 則無此要求。 
建議設置成nonstrict,strict情況下,查詢表數據要求強制指定分區。
strict

hive.exec.max.dynamic.partitions 
所允許的最大的動態分區的個數。可以手動增加分區。
1000

hive.exec.max.dynamic.partitions.pernode 
單個 reduce 結點所允許的最大的動態分區的個數。 
100

hive.exec.default.partition.name 
默認的動態分區的名稱,當動態分區列為''或者null時,使用此名稱。'' 
'__HIVE_DEFAULT_PARTITION__'

hadoop.bin.path 
Hadoop Client 可執行腳本的路徑,該路徑用於通過單獨的 JVM 提交 job,使用 Hadoop Client 的配置。 
$HADOOP_HOME/bin/hadoop

hadoop.config.dir 
Hadoop Client 配置文件的路徑,使用 Hadoop Client 的配置。 
$HADOOP_HOME/conf

fs.default.name 
Namenode 的 URL,使用 Hadoop Client 的配置。 
file:///

map.input.file 
Map 的輸入文件,使用 Hadoop Client 的配置。 
null

mapred.input.dir 
Map 的輸入目錄,使用 Hadoop Client 的配置。 
null

mapred.input.dir.recursive 
輸入目錄是否可遞歸嵌套,使用 Hadoop Client 的配置。 
false

mapred.job.tracker 
Job Tracker 的 URL,使用 Hadoop Client 的配置,如果這個配置設置為 'local',將使用本地模式。 
local

mapred.job.name 
Map/Reduce 的 job 名稱,如果沒有設置,則使用生成的 job name,使用 Hadoop Client 的配置。 
null

mapred.reduce.tasks.speculative.execution 
Map/Reduce 推測執行,使用 Hadoop Client 的配置。 
null

hive.metastore.metadb.dir 
Hive 元數據庫所在路徑。 
"

hive.metastore.uris 
Hive 元數據的 URI,多個 thrift://地址,以英文逗號分隔。 
"

hive.metastore.connect.retries 
連接到 Thrift 元數據服務的最大重試次數。 
3

javax.jdo.option.ConnectionPassword 
JDO 的連接密碼。 
"

hive.metastore.ds.connection.url.hook 
JDO 連接 URL Hook 的類名,該 Hook 用於獲得 JDO 元數據庫的連接字符串,為實現了 JDOConnectionURLHook 接口的類。 
"

javax.jdo.option.ConnectionURL 
元數據庫的連接 URL。 
"

hive.metastore.ds.retry.attempts 
當沒有 JDO 數據連接錯誤后,嘗試連接后台數據存儲的最大次數。 
1

hive.metastore.ds.retry.interval 
每次嘗試連接后台數據存儲的時間間隔,以毫秒為單位。 
1000

hive.metastore.force.reload.conf 
是否強制重新加載元數據配置,一但重新加載,該值就會被重置為 false。 
false

hive.metastore.server.min.threads 
Thrift 服務線程池的最小線程數。 
8

hive.metastore.server.max.threads 
Thrift 服務線程池的最大線程數。 
0x7fffffff

hive.metastore.server.tcp.keepalive 
Thrift 服務是否保持 TCP 連接。 
true

hive.metastore.archive.intermediate.original 
用於歸檔壓縮的原始中間目錄的后綴,這些目錄是什么並不重要,只要能夠避免沖突即可。 
'_INTERMEDIATE_ORIGINAL'

hive.metastore.archive.intermediate.archived 
用於歸檔壓縮的壓縮后的中間目錄的后綴,這些目錄是什么並不重要,只要能夠避免沖突即可。 
'_INTERMEDIATE_ARCHIVED'

hive.metastore.archive.intermediate.extracted 
用於歸檔壓縮的解壓后的中間目錄的后綴,這些目錄是什么並不重要,只要能夠避免沖突即可。 
'_INTERMEDIATE_EXTRACTED'

hive.cli.errors.ignore 
是否忽略錯誤,對於包含多的 SQL 文件,可以忽略錯誤的行,繼續執行下一行。 
false

hive.session.id 
當前會話的標識符,格式為“用戶名_時間”用於記錄在 job conf 中,一般不予以手動設置。 
"

hive.session.silent 
當前會話是否在 silent 模式運行。 如果不是 silent 模式,所以 info 級打在日志中的消息,都將以標准錯誤流的形式輸出到控制台。
false

hive.query.string 
當前正在被執行的查詢字符串。 
"

hive.query.id 
當前正在被執行的查詢的ID。 
"

hive.query.planid 
當前正在被執行的 map/reduce plan 的 ID。 
"

hive.jobname.length 
當前 job name 的最大長度,hive 會根據此長度省略 job name 的中間部分。 
50

hive.jar.path 
通過單獨的 JVM 提交 job 時,hive_cli.jar 所在的路徑 
"

hive.aux.jars.path 
各種由用戶自定義 UDF 和 SerDe 構成的插件 jar 包所在的路徑。 
"

hive.added.files.path 
ADD FILE 所增加的文件的路徑。 
"

hive.added.jars.path 
ADD JAR 所增加的文件的路徑。 
"

hive.added.archives.path 
ADD ARCHIEVE 所增加的文件的路徑。 
"

hive.table.name 
當前的 Hive 表的名稱,該配置將通過 ScirptOperator 傳入到用戶腳本中。 
"

hive.partition.name 
當前的 Hive 分區的名稱,該配置將通過 ScriptOperator 傳入到用戶腳本中。 
"

hive.script.auto.progress 
腳本是否周期性地向 Job Tracker 發送心跳,以避免腳本執行的時間過長,使 Job Tracker 認為腳本已經掛掉了。
false

hive.script.operator.id.env.var 
用於識別 ScriptOperator ID 的環境變量的名稱。 
'HIVE_SCRIPT_OPERATOR_ID'

hive.alias 
當前的 Hive 別名,該配置將通過 ScriptOpertaor 傳入到用戶腳本中。 
"

hive.map.aggr 
決定是否可以在 Map 端進行聚合操作 
true

hive.join.emit.interval 
Hive Join 操作的發射時間間隔,以毫秒為單位。 
1000

hive.join.cache.size 
Hive Join 操作的緩存大小,以字節為單位。 
25000

hive.mapjoin.bucket.cache.size 
Hive Map Join 桶的緩存大小,以字節為單位。 
100

hive.mapjoin.size.key 
Hive Map Join 每一行鍵的大小,以字節為單位。 
10000

hive.mapjoin.cache.numrows 
Hive Map Join 所緩存的行數。 
25000

hive.groupby.mapaggr.checkinterval 
對於 Group By 操作的 Map 聚合的檢測時間,以毫秒為單位。 
100000

hive.map.aggr.hash.percentmemory 
Hive Map 端聚合的哈稀存儲所占用虛擬機的內存比例。 
0.5

hive.map.aggr.hash.min.reduction 
Hive Map 端聚合的哈稀存儲的最小 reduce 比例。 
0.5

hive.udtf.auto.progress 
Hive UDTF 是否周期性地報告心跳,當 UDTF 執行時間較長且不輸出行時有用。 
false

hive.fileformat.check 
Hive 是否檢查輸出的文件格式。 
true

hive.querylog.location 
Hive 實時查詢日志所在的目錄,如果該值為空,將不創建實時的查詢日志。 
'/tmp/$USER'

hive.script.serde 
Hive 用戶腳本的 SerDe。 
'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe'

hive.script.recordreader 
Hive 用戶腳本的 RecordRedaer。 
'org.apache.hadoop.hive.ql.exec.TextRecordReader'

hive.script.recordwriter 
Hive 用戶腳本的 RecordWriter。 
'org.apache.hadoop.hive.ql.exec.TextRecordWriter'

hive.hwi.listen.host 
HWI 所綁定的 HOST 或者 IP。 
'0.0.0.0'

hive.hwi.listen.port 
HWI 所監聽的 HTTP 端口。 
9999

hive.hwi.war.file 
HWI 的 war 文件所在的路徑。 
$HWI_WAR_FILE

hive.test.mode 
是否以測試模式運行 Hive 
false

hive.test.mode.prefix 
Hive 測試模式的前綴。 
'test_'

hive.test.mode.samplefreq 
Hive 測試模式取樣的頻率,即每秒鍾取樣的次數。 
32

hive.test.mode.nosamplelist 
Hive 測試模式取樣的排除列表,以逗號分隔。 
"

hive.merge.size.per.task 
每個任務合並后文件的大小,根據此大小確定 reducer 的個數,默認 256 M。 
256000000

hive.merge.smallfiles.avgsize 
需要合並的小文件群的平均大小,默認 16 M。 
16000000

hive.optimize.skewjoin 
是否優化數據傾斜的 Join,對於傾斜的 Join 會開啟新的 Map/Reduce Job 處理。 
false

hive.skewjoin.key 
傾斜鍵數目閾值,超過此值則判定為一個傾斜的 Join 查詢。 
1000000

hive.skewjoin.mapjoin.map.tasks 
處理數據傾斜的 Map Join 的 Map 數上限。 
10000

hive.skewjoin.mapjoin.min.split 
處理數據傾斜的 Map Join 的最小數據切分大小,以字節為單位,默認為32M。 
33554432

mapred.min.split.size 
Map Reduce Job 的最小輸入切分大小,與 Hadoop Client 使用相同的配置。 
1

hive.mergejob.maponly 
是否啟用 Map Only 的合並 Job。 
true

hive.heartbeat.interval 
Hive Job 的心跳間隔,以毫秒為單位。 
1000

hive.mapjoin.maxsize 
Map Join 所處理的最大的行數。超過此行數,Map Join進程會異常退出。 
1000000

hive.hashtable.initialCapacity 
Hive 的 Map Join 會將小表 dump 到一個內存的 HashTable 中,該 HashTable 的初始大小由此參數指定。 
100000

hive.hashtable.loadfactor 
Hive 的 Map Join 會將小表 dump 到一個內存的 HashTable 中,該 HashTable 的負載因子由此參數指定。 
0.75

hive.mapjoin.followby.gby.localtask.max.memory.usage 
MapJoinOperator后面跟隨GroupByOperator時,內存的最大使用比例 
0.55

hive.mapjoin.localtask.max.memory.usage 
Map Join 的本地任務使用堆內存的最大比例 
0.9

hive.mapjoin.localtask.timeout 
Map Join 本地任務超時,淘寶版特有特性 
600000

hive.mapjoin.check.memory.rows 
設置每多少行檢測一次內存的大小,如果超過 hive.mapjoin.localtask.max.memory.usage 則會異常退出,Map Join 失敗。 
100000

hive.debug.localtask 
是否調試本地任務,目前該參數沒有生效 
false

hive.task.progress 
是否開啟 counters ,以記錄 Job 執行的進度,同時客戶端也會拉取進度 counters。 
false

hive.input.format 
Hive 的輸入 InputFormat。 
默認是org.apache.hadoop.hive.ql.io.HiveInputFormat,其他還有org.apache.hadoop.hive.ql.io.CombineHiveInputFormat

hive.enforce.bucketing 
是否啟用強制 bucketing。 
false

hive.enforce.sorting 
是否啟用強制排序。 
false

hive.mapred.partitioner 
Hive 的 Partitioner 類。 
'org.apache.hadoop.hive.ql.io.DefaultHivePartitioner'

hive.exec.script.trust 
Hive Script Operator For trust 
false

hive.hadoop.supports.splittable.combineinputformat 
是否支持可切分的 CombieInputFormat 
false

hive.optimize.cp 
是否優化列剪枝。 
true

hive.optimize.ppd 
是否優化謂詞下推。 
true

hive.optimize.groupby 
是否優化 group by。 
true

hive.optimize.bucketmapjoin 
是否優化 bucket map join。 
false

hive.optimize.bucketmapjoin.sortedmerge 
是否在優化 bucket map join 時嘗試使用強制 sorted merge bucket map join。 
false

hive.optimize.reducededuplication 
是否優化 reduce 冗余。 
true

hive.hbase.wal.enabled 
是否開啟 HBase Storage Handler。 
true

hive.archive.enabled 
是否啟用 har 文件。 
false

hive.archive.har.parentdir.settable 
是否啟用 har 文件的父目錄可設置。 
false

hive.outerjoin.supports.filters 
是否啟動外聯接支持過濾條件。 
true

hive.fetch.output.serde 
對於 Fetch Task 的 SerDe 類 
'org.apache.hadoop.hive.serde2.DelimitedJSONSerDe'

hive.semantic.analyzer.hook 
Hive 語義分析的 Hook,在語義分析階段的前后被調用,用於分析和修改AST及生成的執行計划,以逗號分隔。 
null

hive.cli.print.header 
是否顯示查詢結果的列名,默認為不顯示。 
false

hive.cli.encoding 
Hive 默認的命令行字符編碼。 
'UTF8'

hive.log.plan.progress 
是否記錄執行計划的進度。 
true

hive.pull.progress.counters 
是否從 Job Tracker 上拉取 counters,淘寶特有配置項。 
true

hive.job.pre.hooks 
每個 Job 提交前執行的 Hooks 列表,以逗號分隔,淘寶特有配置項。 
"

hive.job.post.hooks 
每個 Job 完成后執行的 Hooks 列表,以逗號分隔,淘寶特有配置項。 
"

hive.max.progress.counters 
Hive 最大的進度 couters 個數,淘寶特有配置項。 
100

hive.exec.script.wrapper 
Script Operator 腳本調用的封裝,通常為腳本解釋程序。例如,可以把該變量值的名稱設置為"python",那么傳遞到 Script Operator 的腳本將會以"python &lt;script command&gt;"的命令形式進行調用,如果這個值為null或者沒有設置,那么該腳本將會直接以"&lt;script command&gt;"的命令形式調用。 
null

hive.check.fatal.errors.interval 
客戶端通過拉取 counters 檢查嚴重錯誤的周期,以毫秒為單位,淘寶特有配置項。 
5000L


免責聲明!

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



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