Hive常用配置

2021-10-03 18:55:29 字數 3768 閱讀 9662

(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...