Hive 引數配置

2021-09-27 05:57:44 字數 1676 閱讀 9564

直接輸入$hive_home/bin/hive會進入hive的shell客戶端互動視窗。

輸入$hive_home/bin/hive –h或者–help可以顯示幫助選項:

說明:例如:

$hive_home/bin/hive -e 'select * from tab1 a'

$hive_home/bin/hive -f /home/my/hive-script.sql

$hive_home/bin/hive -f hdfs://:/hive-script.sql

$hive_home/bin/hive -i /home/my/hive-init.sql

$hive_home/bin/hive -e 'select a.col from tab1 a'

--hiveconf hive.exec.compress.output=true

--hiveconf mapred.reduce.tasks=32

hive 引數大全:

開發 hive 應用時,不可避免地需要設定 hive 的引數。設定 hive 的引數可以調優 hql **的執行效率,或幫助定位問題。然而實踐中經常遇到的乙個問題是,為什麼設定的引數沒有起作用?這通常是錯誤的設定方式導致的。

對於一般引數,有以下三種設定方式:

配置檔案

使用者自定義配置檔案:$hive_conf_dir/hive-site.xml

預設配置檔案:$hive_conf_dir/hive-default.xml

使用者自定義配置會覆蓋預設配置。

另外,hive 也會讀入 hadoop 的配置,因為 hive 是作為 hadoop 的客戶端啟動的,hive 的配置會覆蓋 hadoop 的配置。

配置檔案的設定對本機啟動的所有 hive 程序都有效。

命令列引數

啟動 hive(客戶端或 server 方式)時,可以在命令列新增-hiveconf 來設定引數

例如:bin/hive -hiveconf hive.root.logger=info,console

設定對本次啟動的 session(對於 server 方式啟動,則是所有請求的 sessions)有效。

引數宣告

可以在 hql 中使用 set 關鍵字設定引數,這一設定的作用域也是 session 級的。

比如:

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

# 每個 reduce task 的平均負載資料量

set hive.exec.reducers.max=

# 設定 reduce task 數量的上限

set mapreduce.job.reduces=

# 指定固定的 reduce task 數量

但是,這個引數在必要時《業務邏輯決定只能用乙個 reduce task>, hive 會忽略上述三種設定方式的優先順序依次遞增。即引數宣告覆蓋命令列引數,命令列引數覆蓋配置檔案設定。注意某些系統級的引數,例如 log4j 相關的設定,必須用前兩種方式設定,因為那些引數的讀取在 session 建立以前已經完成了。

Hive(九) Hive引數配置方式

總結預設配置檔案 hive default.xml 使用者自定義配置檔案 hive site.xml 注意 使用者自定義配置會覆蓋預設配置。另外,hive也會讀入hadoop的配置,因為hive是作為hadoop的客戶端啟動的,hive的配置會覆蓋hadoop的配置。配置檔案的設定對本機啟動的所有h...

Hive幾種引數配置方法

hive提供三種可以改變環境變數的方法,分別是 1 修改 conf hive site.xml配置檔案 2 命令列引數 3 在已經進入cli時進行引數宣告。下面分別來介紹這幾種設定。方法一 在hive中,所有的預設配置都在 conf hive default.xml檔案中,如果需要對預設的配置進行修...

Hive add 8 Hive 常用引數配置

記錄 hive 常用引數的配置 讓 hive 自動使用 hadoop 的本地模式執行作業,提公升處理效能 適合小檔案,一般用於測試 set hive.exec.mode.local.auto true 輸入檔案大小低於此值會進入本地模式 set hive.exec.mode.local.auto.i...