Hive所有的配置總結 轉載

含著花的二哈發表於2020-11-23

hive的配置:

hive.ddl.output.format:hive的ddl語句的輸出格式,預設是text,純文字,還有json格式,這個是0.90以後才出的新配置;

hive.exec.script.wrapper:hive呼叫指令碼時的包裝器,預設是null,如果設定為python的話,那麼在做指令碼呼叫操作時語句會變為python

hive.exec.plan:hive執行計劃的檔案路徑,預設是null,會在執行時自動設定,形如hdfs://xxxx/xxx/xx;

hive.exec.scratchdir:hive用來儲存不同階段的map/reduce的執行計劃的目錄,同時也儲存中間輸出結果,預設是/tmp/<user.name>/hive,我們實際一般會按組區分,然後組內自建一個tmp目錄儲存;

hive.exec.submitviachild:在非local模式下,決定hive是否要在獨立的jvm中執行map/reduce;預設是false,也就是說預設map/reduce的作業是在hive的jvm上去提交的;

hive.exec.script.maxerrsize:當使用者呼叫transform或者map或者reduce執行指令碼時,最大的序列化錯誤數,預設100000,一般也不用修改;

hive.exec.compress.output:一個查詢的最後一個map/reduce任務輸出是否被壓縮的標誌,預設為false,但是一般會開啟為true,好處的話,節省空間不說,在不考慮cpu壓力的時候會提高io;

hive.exec.compress.intermediate:類似上個,在一個查詢的中間的map/reduce任務輸出是否要被壓縮,預設false,

hive.jar.path:當使用獨立的jvm提交作業時,hive_cli.jar所在的位置,無預設值;

hive.aux.jars.path:當使用者自定義了UDF或者SerDe,這些外掛的jar都要放到這個目錄下,無預設值;

hive.partition.pruning:在編譯器發現一個query語句中使用分割槽表然而未提供任何分割槽謂詞做查詢時,丟擲一個錯誤從而保護分割槽表,預設是nonstrict;(待讀原始碼後細化,網上資料極少)

hive.map.aggr:map端聚合是否開啟,預設開啟;

hive.join.emit.interval:在發出join結果之前對join最右操作快取多少行的設定,預設1000;hive jira裡有個對該值設定太小的bugfix;

hive.map.aggr.hash.percentmemory:map端聚合時hash表所佔用的記憶體比例,預設0.5,這個在map端聚合開啟後使用,

hive.default.fileformat:CREATE TABLE語句的預設檔案格式,預設TextFile,其他可選的有SequenceFile、RCFile還有Orc;

hive.merge.mapfiles:在只有map的作業結束時合併小檔案,預設開啟true;

hive.merge.mapredfiles:在一個map/reduce作業結束後合併小檔案,預設不開啟false;

hive.merge.size.per.task:作業結束時合併檔案的大小,預設256MB;

hive.merge.smallfiles.avgsize:在作業輸出檔案小於該值時,起一個額外的map/reduce作業將小檔案合併為大檔案,小檔案的基本閾值,設定大點可以減少小檔案個數,需要mapfiles和mapredfiles為true,預設值是16MB;

mapred.reduce.tasks:每個作業的reduce任務數,預設是hadoop client的配置1個;

hive.exec.reducers.bytes.per.reducer:每個reducer的大小,預設是1G,輸入檔案如果是10G,那麼就會起10個reducer;

hive.exec.reducers.max:reducer的最大個數,如果在mapred.reduce.tasks設定為負值,那麼hive將取該值作為reducers的最大可能值。當然還要依賴(輸入檔案大小/hive.exec.reducers.bytes.per.reducer)所得出的大小,取其小值作為reducer的個數,hive預設是999;

hive.fileformat.check:載入資料檔案時是否校驗檔案格式,預設是true;

hive.groupby.skewindata:group by操作是否允許資料傾斜,預設是false,當設定為true時,執行計劃會生成兩個map/reduce作業,第一個MR中會將map的結果隨機分佈到reduce中,達到負載均衡的目的來解決資料傾斜,

hive.groupby.mapaggr.checkinterval:map端做聚合時,group by 的key所允許的資料行數,超過該值則進行分拆,預設是100000;

hive.mapred.local.mem:本地模式時,map/reduce的記憶體使用量,預設是0,就是無限制;

hive.mapjoin.followby.map.aggr.hash.percentmemory:map端聚合時hash表的記憶體佔比,該設定約束group by在map join後進行,否則使用hive.map.aggr.hash.percentmemory來確認記憶體佔比,預設值0.3;

hive.map.aggr.hash.force.flush.memeory.threshold:map端聚合時hash表的最大可用記憶體,如果超過該值則進行flush資料,預設是0.9;

hive.map.aggr.hash.min.reduction:如果hash表的容量與輸入行數之比超過這個數,那麼map端的hash聚合將被關閉,預設是0.5,設定為1可以保證hash聚合永不被關閉;

hive.optimize.groupby:在做分割槽和表查詢時是否做分桶group by,預設開啟true;

hive.multigroupby.singlemr:將多個group by產出為一個單一map/reduce任務計劃,當然約束前提是group by有相同的key,預設是false;

hive.optimize.cp:列裁剪,預設開啟true,在做查詢時只讀取用到的列,這個是個有用的優化;

hive.optimize.index.filter:自動使用索引,預設不開啟false;

hive.optimize.index.groupby:是否使用聚集索引優化group-by查詢,預設關閉false;

hive.optimize.ppd:是否支援謂詞下推,預設開啟;所謂謂詞下推,將外層查詢塊的 WHERE 子句中的謂詞移入所包含的較低層查詢塊(例如檢視),從而能夠提早進行資料過濾以及有可能更好地利用索引。

hive.optimize.ppd.storage:謂詞下推開啟時,謂詞是否下推到儲存handler,預設開啟,在謂詞下推關閉時不起作用;

hive.ppd.recognizetransivity:在等值join條件下是否產地重複的謂詞過濾器,預設開啟;

hive.join.cache.size:在做表join時快取在記憶體中的行數,預設25000;

hive.mapjoin.bucket.cache.size:mapjoin時記憶體cache的每個key要儲存多少個value,預設100;

hive.optimize.skewjoin:是否開啟資料傾斜的join優化,預設不開啟false;

hive.skewjoin.key:判斷資料傾斜的閾值,如果在join中發現同樣的key超過該值則認為是該key是傾斜的join key,預設是100000;

hive.skewjoin.mapjoin.map.tasks:在資料傾斜join時map join的map數控制,預設是10000;

hive.skewjoin.mapjoin.min.split:資料傾斜join時map join的map任務的最小split大小,預設是33554432,該引數要結合上面的引數共同使用來進行細粒度的控制;

hive.mapred.mode:hive操作執行時的模式,預設是nonstrict非嚴格模式,如果是strict模式,很多有風險的查詢會被禁止執行,比如笛卡爾積的join和動態分割槽;

hive.exec.script.maxerrsize:一個map/reduce任務允許列印到標準錯誤裡的最大位元組數,為了防止指令碼把分割槽日誌填滿,預設是100000;

hive.exec.script.allow.partial.consumption:hive是否允許指令碼不從標準輸入中讀取任何內容就成功退出,預設關閉false;

hive.script.operator.id.env.var:在使用者使用transform函式做自定義map/reduce時,儲存唯一的指令碼標識的環境變數的名字,預設HIVE_SCRIPT_OPERATOR_ID;

hive.exec.compress.output:控制hive的查詢結果輸出是否進行壓縮,壓縮方式在hadoop的mapred.output.compress中配置,預設不壓縮false;

hive.exec.compress.intermediate:控制hive的查詢中間結果是否進行壓縮,同上條配置,預設不壓縮false;

hive.exec.parallel:hive的執行job是否並行執行,預設不開啟false,在很多操作如join時,子查詢之間並無關聯可獨立執行,這種情況下開啟並行運算可以大大加速;

hvie.exec.parallel.thread.number:並行運算開啟時,允許多少作業同時計算,預設是8;

hive.exec.rowoffset:是否提供行偏移量的虛擬列,預設是false不提供,Hive有兩個虛擬列:一個是INPUT__FILE__NAME,表示輸入檔案的路徑,另外一個是BLOCK__OFFSET__INSIDE__FILE,表示記錄在檔案中的塊偏移量,這對排查出現不符合預期或者null結果的查詢是很有幫助的;

hive.task.progress:控制hive是否在執行過程中週期性的更新任務進度計數器,開啟這個配置可以幫助job tracker更好的監控任務的執行情況,但是會帶來一定的效能損耗,當動態分割槽標誌hive.exec.dynamic.partition開啟時,本配置自動開啟;

hive.exec.pre.hooks:執行前置條件,一個用逗號分隔開的實現了org.apache.hadoop.hive.ql.hooks.ExecuteWithHookContext介面的java class列表,配置了該配置後,每個hive任務執行前都要執行這個執行前鉤子,預設是空;

hive.exec.post.hooks:同上,執行後鉤子,預設是空;

hive.exec.failure.hooks:同上,異常時鉤子,在程式發生異常時執行,預設是空;

hive.mergejob.maponly:試圖生成一個只有map的任務去做merge,前提是支援CombineHiveInputFormat,預設開啟true;

hive.mapjoin.smalltable.filesize:輸入表檔案的mapjoin閾值,如果輸入檔案的大小小於該值,則試圖將普通join轉化為mapjoin,預設25MB;

hive.mapjoin.localtask.max.memory.usage:mapjoin本地任務執行時hash表容納key/value的最大量,超過這個值的話本地任務會自動退出,預設是0.9;

hive.mapjoin.followby.gby.localtask.max.memory.usage:類似上面,只不過是如果mapjoin後有一個group by的話,該配置控制類似這樣的query的本地記憶體容量上限,預設是0.55;

hive.mapjoin.check.memory.rows:在運算了多少行後執行記憶體使用量檢查,預設100000;

hive.heartbeat.interval:傳送心跳的時間間隔,在mapjoin和filter操作中使用,預設1000;

hive.auto.convert.join:根據輸入檔案的大小決定是否將普通join轉換為mapjoin的一種優化,預設不開啟false;

hive.script.auto.progress:hive的transform/map/reduce指令碼執行時是否自動的將進度資訊傳送給TaskTracker來避免任務沒有響應被誤殺,本來是當指令碼輸出到標準錯誤時,傳送進度資訊,但是開啟該項後,輸出到標準錯誤也不會導致資訊傳送,因此有可能會造成指令碼有死迴圈產生,但是TaskTracker卻沒有檢查到從而一直迴圈下去;

hive.script.serde:使用者指令碼轉換輸入到輸出時的SerDe約束,預設是org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe;

hive.script.recordreader:從指令碼讀資料的時候的預設reader,預設是org.apache.hadoop.hive.ql.exec.TextRecordReader;

hive.script.recordwriter:寫資料到指令碼時的預設writer,預設org.apache.hadoop.hive.ql.exec.TextRecordWriter;

hive.input.format:輸入格式,預設是org.apache.hadoop.hive.ql.io.CombineHiveInputFormat,如果出現問題,可以改用org.apache.hadoop.hive.ql.io.HiveInputFormat;

hive.udtf.auto.progress:UDTF執行時hive是否傳送進度資訊到TaskTracker,預設是false;

hive.mapred.reduce.tasks.speculative.execution:reduce任務推測執行是否開啟,預設是true;

hive.exec.counters.pull.interval:執行中job輪詢JobTracker的時間間隔,設定小會影響JobTracker的load,設定大可能看不出執行任務的資訊,要去平衡,預設是1000;

hive.enforce.bucketing:資料分桶是否被強制執行,預設false,如果開啟,則寫入table資料時會啟動分桶,

hive.enforce.sorting:開啟強制排序時,插資料到表中會進行強制排序,預設false;

hive.optimize.reducededuplication:如果資料已經根據相同的key做好聚合,那麼去除掉多餘的map/reduce作業,此配置是文件的推薦配置,建議開啟,預設是true;

hive.exec.dynamic.partition:在DML/DDL中是否支援動態分割槽,預設false;

hive.exec.dynamic.partition.mode:預設strict,在strict模式下,動態分割槽的使用必須在一個靜態分割槽確認的情況下,其他分割槽可以是動態;

hive.exec.max.dynamic.partitions:動態分割槽的上限,預設1000;

hive.exec.max.dynamic.partitions.pernode:每個mapper/reducer節點可以建立的最大動態分割槽數,預設100;

hive.exec.max.created.files:一個mapreduce作業能建立的HDFS檔案最大數,預設是100000;

hive.exec.default.partition.name:當動態分割槽啟用時,如果資料列裡包含null或者空字串的話,資料會被插入到這個分割槽,預設名字是__HIVE_DEFAULT_PARTITION__;

hive.fetch.output.serde:FetchTask序列化fetch輸出時需要的SerDe,預設是org.apache.hadoop.hive.serde2.DelimitedJSONSerDe;

hive.exec.mode.local.auto:是否由hive決定自動在local模式下執行,預設是false,

hive.exec.drop.ignorenoneexistent:在drop表或者檢視時如果發現表或檢視不存在,是否報錯,預設是true;

hive.exec.show.job.failure.debug.info:在作業失敗時是否提供一個任務debug資訊,預設true;

hive.auto.progress.timeout:執行自動progressor的時間間隔,預設是0等價於forever;

hive.table.parameters.default:新建表的屬性欄位預設值,預設是empty空;

hive.variable.substitute:是否支援變數替換,如果開啟的話,支援語法如${var} s y s t e m : v a r 和 {system:var}和 system:var{env.var},預設是true;

hive.error.on.empty.partition:在遇到結果為空的動態分割槽時是否報錯,預設是false;

hive.exim.uri.scheme.whitelist:在匯入匯出資料時提供的一個白名單列表,列表項之間由逗號分隔,預設hdfs,pfile;

hive.limit.row.max.size:字面意思理解就是在使用limit做資料的子集查詢時保證的最小行資料量,預設是100000;

hive.limit.optimize.limit.file:使用簡單limit查詢資料子集時,可抽樣的最大檔案數,預設是10;

hive.limit.optimize.enable:使用簡單limit抽樣資料時是否開啟優化選項,預設是false,關於limit的優化問題,在hive programming書中解釋的是這個feature有drawback,對於抽樣的不確定性給出了風險提示;

hive.limit.optimize.fetch.max:使用簡單limit抽樣資料允許的最大行數,預設50000,查詢query受限,insert不受影響;

hive.rework.mapredwork:是否重做mapreduce,預設是false;

hive.sample.seednumber:用來區分抽樣的數字,預設是0;

hive.io.exception.handlers:io異常處理handler類列表,預設是空,當record reader發生io異常時,由這些handler來處理異常;

hive.autogen.columnalias.prefix.label:當在執行中自動產生列別名的字首,當類似count這樣的聚合函式起作用時,如果不明確指出count(a) as xxx的話,那麼預設會從列的位置的數字開始算起新增,比如第一個count的結果會冠以列名_c0,接下來依次類推,預設值是_c,資料開發過程中應該很多人都看到過這個別名;

hive.autogen.columnalias.prefix.includefuncname:在自動生成列別名時是否帶函式的名字,預設是false;

hive.exec.perf.logger:負責記錄客戶端效能指標的日誌類名,必須是org.apache.hadoop.hive.ql.log.PerfLogger的子類,預設是org.apache.hadoop.hive.ql.log.PerfLogger;

hive.start.cleanup.scratchdir:當啟動hive服務時是否清空hive的scratch目錄,預設是false;

hive.output.file.extension:輸出副檔名,預設是空;

hive.insert.into.multilevel.dirs:是否插入到多級目錄,預設是false;

hive.files.umask.value:hive建立資料夾時的dfs.umask值,預設是0002;

hive.metastore.local:控制hive是否連線一個遠端metastore伺服器還是開啟一個本地客戶端jvm,預設是true,Hive0.10已經取消了該配置項;

javax.jdo.option.ConnectionURL:JDBC連線字串,預設jdbc:derby:;databaseName=metastore_db;create=true;

javax.jdo.option.ConnectionDriverName:JDBC的driver,預設org.apache.derby.jdbc.EmbeddedDriver;

javax.jdo.PersisteneManagerFactoryClass:實現JDO PersistenceManagerFactory的類名,預設org.datanucleus.jdo.JDOPersistenceManagerFactory;

javax.jdo.option.DetachAllOnCommit:事務提交後detach所有提交的物件,預設是true;

javax.jdo.option.NonTransactionalRead:是否允許非事務的讀,預設是true;

javax.jdo.option.ConnectionUserName:username,預設APP;

javax.jdo.option.ConnectionPassword:password,預設mine;

javax.jdo.option.Multithreaded:是否支援併發訪問metastore,預設是true;

datanucleus.connectionPoolingType:使用連線池來訪問JDBC metastore,預設是DBCP;

datanucleus.validateTables:檢查是否存在表的schema,預設是false;

datanucleus.validateColumns:檢查是否存在列的schema,預設false;

datanucleus.validateConstraints:檢查是否存在constraint的schema,預設false;

datanucleus.stroeManagerType:後設資料儲存型別,預設rdbms;

datanucleus.autoCreateSchema:在不存在時是否自動建立必要的schema,預設是true;

datanucleus.aotuStartMechanismMode:如果後設資料表不正確,丟擲異常,預設是checked;

datanucleus.transactionIsolation:預設的事務隔離級別,預設是read-committed;

datanucleus.cache.level2:使用二級快取,預設是false;

datanucleus.cache.level2.type:二級快取的型別,有兩種,SOFT:軟引用,WEAK:弱引用,預設是SOFT;

datanucleus.identifierFactory:id工廠生產表和列名的名字,預設是datanucleus;

datanucleus.plugin.pluginRegistryBundleCheck:當plugin被發現並且重複時的行為,預設是LOG;

hive.metastroe.warehouse.dir:資料倉儲的位置,預設是/user/hive/warehouse;

hive.metastore.execute.setugi:非安全模式,設定為true會令metastore以客戶端的使用者和組許可權執行DFS操作,預設是false,這個屬性需要服務端和客戶端同時設定;

hive.metastore.event.listeners:metastore的事件監聽器列表,逗號隔開,預設是空;

hive.metastore.partition.inherit.table.properties:當新建分割槽時自動繼承的key列表,預設是空;

hive.metastore.end.function.listeners:metastore函式執行結束時的監聽器列表,預設是空;

hive.metastore.event.expiry.duration:事件表中事件的過期時間,預設是0;

hive.metastore.event.clean.freq:metastore中清理過期事件的定時器的執行週期,預設是0;

hive.metastore.connect.retries:建立metastore連線時的重試次數,預設是5;

hive.metastore.client.connect.retry.delay:客戶端在連續的重試連線等待的時間,預設1;

hive.metastore.client.socket.timeout:客戶端socket超時時間,預設20秒;

hive.metastore.rawstore.impl:原始metastore的儲存實現類,預設是org.apache.hadoop.hive.metastore.ObjectStore;

hive.metastore.batch.retrieve.max:在一個batch獲取中,能從metastore裡取出的最大記錄數,預設是300;

hive.metastore.ds.connection.url.hook:查詢JDO連線url時hook的名字,預設是javax.jdo.option.ConnectionURL;

hive.metastore.ds.retry.attempts:當出現連線錯誤時重試連線的次數,預設是1次;

hive.metastore.ds.retry.interval:metastore重試連線的間隔時間,預設1000毫秒;

hive.metastore.server.min.threads:在thrift服務池中最小的工作執行緒數,預設是200;

hive.metastore.server.max.threads:最大執行緒數,預設是100000;

hive.metastore.server.tcp.keepalive:metastore的server是否開啟長連線,長連可以預防半連線的積累,預設是true;

hive.metastore.sasl.enabled:metastore thrift介面的安全策略,開啟則用SASL加密介面,客戶端必須要用Kerberos機制鑑權,預設是不開啟false;

hive.metastore.kerberos.keytab.file:在開啟sasl後kerberos的keytab檔案存放路徑,預設是空;

hive.metastore.kerberos.principal:kerberos的principal,_HOST部分會動態替換,預設是hive-metastore/_HOST@EXAMPLE.COM;

hive.metastore.cache.pinobjtypes:在cache中支援的metastore的物件型別,由逗號分隔,預設是Table,StorageDescriptor,SerDeInfo,Partition,Database,Type,FieldSchema,Order;

hive.metastore.authorization.storage.checks:在做類似drop partition操作時,metastore是否要認證許可權,預設是false;

hive.metastore.schema.verification:強制metastore的schema一致性,開啟的話會校驗在metastore中儲存的資訊的版本和hive的jar包中的版本一致性,並且關閉自動schema遷移,使用者必須手動的升級hive並且遷移schema,關閉的話只會在版本不一致時給出警告,預設是false不開啟;

hive.index.compact.file.ignore.hdfs:在索引檔案中儲存的hdfs地址將在執行時被忽略,如果開啟的話;如果資料被遷移,那麼索引檔案依然可用,預設是false;

hive.optimize.index.filter.compact.minsize:壓縮索引自動應用的最小輸入大小,預設是5368709120;

hive.optimize.index.filter.compact.maxsize:同上,相反含義,如果是負值代表正無窮,預設是-1;

hive.index.compact.query.max.size:一個使用壓縮索引做的查詢能取到的最大資料量,預設是10737418240 個byte;負值代表無窮大;

hive.index.compact.query.max.entries:使用壓縮索引查詢時能讀到的最大索引項數,預設是10000000;負值代表無窮大;

hive.index.compact.binary.search:在索引表中是否開啟二分搜尋進行索引項查詢,預設是true;

hive.exec.concatenate.check.index:如果設定為true,那麼在做ALTER TABLE tbl_name CONCATENATE on a table/partition(有索引) 操作時,丟擲錯誤;可以幫助使用者避免index的刪除和重建;

hive.stats.dbclass:儲存hive臨時統計資訊的資料庫,預設是jdbc:derby;

hive.stats.autogather:在insert overwrite命令時自動收集統計資訊,預設開啟true;

hive.stats.jdbcdriver:資料庫臨時儲存hive統計資訊的jdbc驅動;

hive.stats.dbconnectionstring:臨時統計資訊資料庫連線串,預設jdbc:derby:databaseName=TempStatsStore;create=true;

hive.stats.defaults.publisher:如果dbclass不是jdbc或者hbase,那麼使用這個作為預設釋出,必須實現StatsPublisher介面,預設是空;

hive.stats.defaults.aggregator:如果dbclass不是jdbc或者hbase,那麼使用該類做聚集,要求實現StatsAggregator介面,預設是空;

hive.stats.jdbc.timeout:jdbc連線超時配置,預設30秒;

hive.stats.retries.max:當統計釋出合聚集在更新資料庫時出現異常時最大的重試次數,預設是0,不重試;

hive.stats.retries.wait:重試次數之間的等待視窗,預設是3000毫秒;

hive.client.stats.publishers:做count的job的統計釋出類列表,由逗號隔開,預設是空;必須實現org.apache.hadoop.hive.ql.stats.ClientStatsPublisher介面;

hive.client.stats.counters:沒什麼用~~~

hive.security.authorization.enabled:hive客戶端是否認證,預設是false;

hive.security.authorization.manager:hive客戶端認證的管理類,預設是org.apache.hadoop.hive.ql.security.authorization.DefaultHiveAuthorizationProvider;使用者定義的要實現org.apache.hadoop.hive.ql.security.authorization.HiveAuthorizationProvider;

hive.security.authenticator.manager:hive客戶端授權的管理類,預設是org.apache.hadoop.hive.ql.security.HadoopDefaultAuthenticator;使用者定義的需要實現org.apache.hadoop.hive.ql.security.HiveAuthenticatorProvider;

hive.security.authorization.createtable.user.grants:當表建立時自動授權給使用者,預設是空;

hive.security.authorization.createtable.group.grants:同上,自動授權給組,預設是空;

hive.security.authorization.createtable.role.grants:同上,自動授權給角色,預設是空;

hive.security.authorization.createtable.owner.grants:同上,自動授權給owner,預設是空;

hive.security.metastore.authorization.manager:metastore的認證管理類,預設是org.apache.hadoop.hive.ql.security.authorization.DefaultHiveMetastoreAuthorizationProvider;使用者定義的必須實現org.apache.hadoop.hive.ql.security.authorization.HiveMetastoreAuthorizationProvider介面;介面引數要包含org.apache.hadoop.hive.ql.security.authorization.StorageBasedAuthorizationProvider介面;使用HDFS的許可權控制認證而不是hive的基於grant的方式;

hive.security.metastore.authenticator.manager:metastore端的授權管理類,預設是org.apache.hadoop.hive.ql.security.HadoopDefaultMetastoreAuthenticator,自定義的必須實現org.apache.hadoop.hive.ql.security.HiveAuthenticatorProvider介面;

hive.metastore.pre.event.listeners:在metastore做資料庫任何操作前執行的事件監聽類列表;

fs.har.impl:訪問Hadoop Archives的實現類,低於hadoop 0.20版本的都不相容,預設是org.apache.hadoop.hive.shims.HiveHarFileSystem;

hive.archive.enabled:是否允許歸檔操作,預設是false;

hive.archive.har.parentdir.settable:在建立HAR檔案時必須要有父目錄,需要手動設定,在新的hadoop版本會支援,預設是false;

hive.support.concurrency:hive是否支援併發,預設是false,支援讀寫鎖的話,必須要起zookeeper;

hive.lock.mapred.only.operation:控制是否在查詢時加鎖,預設是false;

hive.lock.numretries:獲取鎖時嘗試的重試次數,預設是100;

hive.lock.sleep.between.retries:在重試間隔的睡眠時間,預設60秒;

hive.zookeeper.quorum:zk地址列表,預設是空;

hive.zookeeper.client.port:zk伺服器的連線埠,預設是2181;

hive.zookeeper.session.timeout:zk客戶端的session超時時間,預設是600000;

hive.zookeeper.namespace:在所有zk節點建立後的父節點,預設是hive_zookeeper_namespace;

hive.zookeeper.clean.extra.nodes:在session結束時清除所有額外node;

hive.cluster.delegation.token.store.class:代理token的儲存實現類,預設是org.apache.hadoop.hive.thrift.MemoryTokenStore,可以設定為org.apache.hadoop.hive.thrift.ZooKeeperTokenStore來做負載均衡叢集;

hive.cluster.delegation.token.store.zookeeper.connectString:zk的token儲存連線串,預設是localhost:2181;

hive.cluster.delegation.token.store.zookeeper.znode:token儲存的節點跟路徑,預設是/hive/cluster/delegation;

hive.cluster.delegation.token.store.zookeeper.acl:token儲存的ACL,預設是sasl:hive/host1@example.com:cdrwa,sasl:hive/host2@example.com:cdrwa;

hive.use.input.primary.region:從一張input表建立表時,建立這個表到input表的主region,預設是true;

hive.default.region.name:預設region的名字,預設是default;

hive.region.properties:region的預設的檔案系統和jobtracker,預設是空;

hive.cli.print.header:查詢輸出時是否列印名字和列,預設是false;

hive.cli.print.current.db:hive的提示裡是否包含當前的db,預設是false;

hive.hbase.wal.enabled:寫入hbase時是否強制寫wal日誌,預設是true;

hive.hwi.war.file:hive在web介面是的war檔案的路徑,預設是lib/hive-hwi-xxxx(version).war;

hive.hwi.listen.host:hwi監聽的host地址,預設是0.0.0.0;

hive.hwi.listen.port:hwi監聽的埠,預設是9999;

hive.test.mode:hive是否執行在測試模式,預設是false;

hive.test.mode.prefix:在測試模式執行時,表的字首字串,預設是test_;

hive.test.mode.samplefreq:如果hive在測試模式執行,並且表未分桶,抽樣頻率是多少,預設是32;

hive.test.mode.nosamplelist:在測試模式執行時不進行抽樣的表列表,預設是空;

相關文章