1. 程式人生 > >hive的常見屬性配置

hive的常見屬性配置

Hive資料倉庫位置配置

(1)Default資料倉庫的最原始位置是在hdfs上的:/user/hive/warehouse路徑下
(2)在倉庫目錄下,沒有對預設的資料庫default建立資料夾。如果某張表屬於default資料庫,直接在資料倉庫目錄下建立一個資料夾。
(3)修改default資料倉庫原始位置(將hive-default.xml.template如下配置資訊拷貝到hive-site.xml檔案中)

<property>
		<name>hive.metastore.warehouse.dir</name>
		<value>/user/hive/warehouse</value>
		<description>location of default database for the warehouse</description>
</property>

顯示當前資料庫,以及查詢表的頭資訊配置

在hive-site.xml檔案中新增如下配置資訊,就可以實現顯示當前資料庫,以及查詢表的頭資訊配置。

<property>
	<name>hive.cli.print.header</name>
	<value>true</value>
</property>

<property>
	<name>hive.cli.print.current.db</name>
	<value>true</value>
</property>

修改後

hive (default)> use hive;
OK
Time taken: 0.059 seconds
hive (hive)> 

Hive執行日誌資訊配置

hive的日誌預設放在當前使用者名稱的目錄下

[[email protected] root]# pwd
/tmp/root

修改hive的log存放日誌到/opt/module/hive/logs

修改/opt/module/hive/conf/hive-log4j.properties.template檔名稱為hive-log4j.properties

[[email protected]
conf]# mv hive-log4j.properties.template hive-log4j.properties

在hive-log4j.properties檔案中修改log存放位置

hive.log.dir=/opt/module/hive/logs

引數配置方式

檢視當前所有的配置資訊

hive (default)> set;

引數的配置三種方式及優先順序

(1)配置檔案方式

預設配置檔案:hive-default.xml
使用者自定義配置檔案:hive-site.xml

注意:使用者自定義配置會覆蓋預設配置。另外,Hive也會讀入Hadoop的配置,因為Hive是作為Hadoop的客戶端啟動的,Hive的配置會覆蓋Hadoop的配置。配置檔案的設定對本機啟動的所有Hive程序都有效。

(2)命令列引數方式

啟動Hive時,可以在命令列新增-hiveconf param=value來設定引數。

例如:

[[email protected] hive]$ bin/hive -hiveconf mapred.reduce.tasks=10;
注意:僅對本次hive啟動有效

檢視引數設定:

hive (default)> set mapred.reduce.tasks;

(3)引數宣告方式
可以在HQL中使用SET關鍵字設定引數

例如:

hive (default)> set mapred.reduce.tasks=100;
注意:僅對本次hive啟動有效。

檢視引數設定

hive (default)> set mapred.reduce.tasks;

上述三種設定方式的優先順序依次遞增。即配置檔案<命令列引數<引數宣告。注意某些系統級的引數,例如log4j相關的設定,必須用前兩種方式設定,因為那些引數的讀取在會話建立以前已經完成了。