(1)設定reduce個數
set mapreduce.job.reduces
(2)匯入資料到分桶表配置
hive (default)>
set hive.enforce.bucketing=
true
;hive (default)>
set mapreduce.job.reduces=
-1
(3)開啟hive中間傳輸資料壓縮功能
hive (default)>
set hive.
exec
.compress.intermediate=
true
;
(4)開啟mapreduce中map輸出壓縮功能
hive (default)>
set mapreduce.map.output.compress=
true
;
(5)開啟hive最終輸出資料壓縮功能
hive (default)>
set hive.
exec
.compress.output=
true
;
(6)開啟mapreduce最終輸出資料壓縮
hive (default)>
set mapreduce.output.fileoutputformat.compress=
true
;
(7)設定mapreduce最終資料輸出壓縮方式
hive (default)>
(8)設定mapreduce最終資料輸出壓縮為塊壓縮
hive (default)>
set mapreduce.output.fileoutputformat.compress.
type
=block;
(9)設定執行查詢語句,都會執行mapreduce程式(more為都不執行)
hive (default)>
set hive.
fetch
.task.conversion=none;
(10)開啟本地mr
set hive.
exec
.mode
.local
.auto=
true
;
(11)設定local mr的最大輸入資料量,當輸入資料量小於這個值時採用local mr的方式,預設為134217728,即128m
set hive.
exec
.mode
.local
.auto.inputbytes.max;
(12)設定local mr的最大輸入檔案個數,當輸入檔案個數小於這個值時採用local mr的方式,預設為4
set hive.
exec
.mode
.local
.auto.input.files.max;
(13)關閉mapjoin功能(預設是開啟的)
set hive.auto.
convert
.join
=false
;
(14)大表小表的閾值設定(預設25m一下認為是小表)
set hive.mapjoin.smalltable.filesize=
25000000
;
(15)是否在map端進行聚合,預設為true
hive.map.aggr;
(16)在map端進行聚合操作的條目數目
hive.groupby.mapaggr.checkinterval =
100000
;
(17)有資料傾斜的時候進行負載均衡(預設是false)(當選項設定為 true,生成的查詢計畫會有兩個mr job)
hive.groupby.skewindata ;
(18)開啟動態分割槽功能(預設true,開啟)
hive.
exec
.dynamic.
partition
=true
(19)設定為非嚴格模式(動態分割槽的模式,預設strict,表示必須指定至少乙個分割槽為靜態分割槽,nonstrict模式表示允許所有的分割槽欄位都可以使用動態分割槽。)
hive.
exec
.dynamic.
partition
.mode
=nonstrict
(20)在所有執行mr的節點上,最大一共可以建立多少個動態分割槽。
hive.
exec
.max.dynamic.partitions=
1000
(21)在每個執行mr的節點上,最大可以建立多少個動態分割槽。該引數需要根據實際的資料來設定。比如:源資料中包含了一年的資料,即day欄位有365個值,那麼該引數就需要設定成大於365,如果使用預設值100,則會報錯。
hive.
exec
.max.dynamic.partitions.pernode=
100
(22)整個mr job中,最大可以建立多少個hdfs檔案。
hive.exec.max.created.files=100000
(23)當有空分割槽生成時,是否丟擲異常。一般不需要設定。
hive.error.
on.empty.
partition
=false
(24)設定檔案輸入格式(預設為combinehiveinputformat)
set hive.input.format
(25)每個reduce處理的資料量預設是256mb
hive.
exec
.reducers.bytes.per.reducer=
256000000
(26)每個任務最大的reduce數,預設為1009
hive.
exec
.reducers.max=
1009
(27)開啟任務並行執行
set hive.
exec
.parallel=
true
;
(28)同乙個sql允許最大並行度,預設為8
set hive.
exec
.parallel.thread.number=
16;
(29)講hive設定為嚴格模式(預設為nonstrict)
set hive.mapred.
mode
= strice;
(30)設定jvm重用次數
mapreduce.job.jvm.numtasks
Hive常用的屬性配置項
tips cdh版本的hive沒有hive default.xml等沒有default檔案 1 hive資料倉儲位置配置 官網的解釋 hive.metastore.warehouse.dir default value user hive warehouse added in hive 0.2.0 ...
Hive add 8 Hive 常用引數配置
記錄 hive 常用引數的配置 讓 hive 自動使用 hadoop 的本地模式執行作業,提公升處理效能 適合小檔案,一般用於測試 set hive.exec.mode.local.auto true 輸入檔案大小低於此值會進入本地模式 set hive.exec.mode.local.auto.i...
hive 解密 Hive 常用函式
2.concat str1,sep,str2,sep,str3,和 concat ws sep,str1,str2,str3,字串連線函式,需要是 string型字段。如果4個字段,想得到如下結果,看下兩個函式的區別 eg 1 select concat 江蘇省 南京市 玄武區 徐莊軟體園 2 se...