hive.exec.mode.local.auto
決定 Hive 是否應該自動地根據輸入文件大小,在本地運行(在GateWay運行)
truejava
hive.exec.mode.local.auto.inputbytes.max
若是 hive.exec.mode.local.auto 爲 true,當輸入文件大小小於此閾值時能夠自動在本地模式運行,默認是 128兆。
134217728Lnode
hive.exec.mode.local.auto.tasks.max
若是 hive.exec.mode.local.auto 爲 true,當 Hive Tasks(Hadoop Jobs)小於此閾值時,能夠自動在本地模式運行。
4python
hive.auto.convert.join
是否根據輸入小表的大小,自動將 Reduce 端的 Common Join 轉化爲 Map Join,從而加快大表關聯小表的 Join 速度。
false數據庫
hive.mapred.local.mem
Mapper/Reducer 在本地模式的最大內存量,以字節爲單位,0爲不限制。
0apache
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 可寫的路徑。
"session
hive.groupby.skewindata
決定 group by 操做是否支持傾斜的數據。
原理是,在Group by中,對一些比較小的分區進行合併
false併發
hive.merge.mapfiles
是否開啓合併 Map 端小文件,對於 Hadoop 0.20 之前的版本,起一首新的 Map/Reduce Job,對於 0.20 之後的版本,則是起使用 CombineInputFormat 的 MapOnly Job。
trueapp
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 <script command>"的命令形式進行調用,若是這個值爲null或者沒有設置,那麼該腳本將會直接以"<script command>"的命令形式調用。
null
hive.check.fatal.errors.interval 客戶端經過拉取 counters 檢查嚴重錯誤的週期,以毫秒爲單位,淘寶特有配置項。 5000L