Hive幾種引數配置方法

2021-07-12 01:42:22 字數 1853 閱讀 7077

hive提供三種可以改變環境變數的方法,分別是:(1)、修改$/conf/hive-site.xml配置檔案;(2)、命令列引數;(3)、在已經進入cli時進行引數宣告。下面分別來介紹這幾種設定。

方法一:

在hive中,所有的預設配置都在$/conf/hive-default.xml檔案中,如果需要對預設的配置進行修改,可以建立乙個hive-site.xml檔案,放在$/conf目錄下。裡面可以對一些配置進行個性化設定。在hive-site.xml的格式如下:

hive.metastore.warehouse.dir

/user/hive/warehouse

location of

default database for the warehouse

所有的配置都是放在標籤之間,乙個configuration標籤裡面可以存在多個標籤。標籤裡面就是我們想要設定屬性的名稱;標籤裡面是我們想要設定的值;方法二:

在啟動hive cli的時候進行配置,可以在命令列新增-hiveconf param=value來設定引數,例如:

[wyp@master ~]$ hive --hiveconf mapreduce.job.queuename=queue1

這樣在hive中所有mapreduce作業都提交到佇列queue1中。這一設定對本次啟動的會話有效,下次啟動需要重新配置。

方法三:

在已經進入cli時進行引數宣告,可以在hql中使用set關鍵字設定引數,例如:

hive> set mapreduce.job.queuename=queue1;

這樣也能達到方法二的效果。這種配置也是對本次啟動的會話有效,下次啟動需要重新配置。在hql中使用set關鍵字還可以檢視配置的值,如下:

hive> set mapreduce.job.queuename;

mapreduce.job.queuename=queue1

我們可以得到mapreduce.job.queuename=queue1。如果set後面什麼都不新增,這樣可以查到hive的所有屬性配置,如下:

hive> set;

datanucleus.autocreateschema=true

datanucleus.autostartmechanismmode=checked

datanucleus.cache.level2=false

datanucleus.cache.level2.type=none

datanucleus.connectionpoolingtype=dbcp

datanucleus.identifie***ctory=datanucleus

datanucleus.plugin.pluginregistrybundlecheck=log

datanucleus.storemanagertype=rdbms

datanucleus.transactionisolation=read-committed

datanucleus.validatecolumns=false

datanucleus.validateconstraints=false

datanucleus.validatetables=false

............................

上述三種設定方式的優先順序依次遞增。即引數宣告覆蓋命令列引數,命令列引數覆蓋配置檔案設定。

有些引數必須使用前兩種配置方式設定,因為那些引數的讀取在會話建立之前就已經讀取了,所有在會話中設定是無效的。

Hive 引數配置

直接輸入 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 ...

hive 幾種hive優化方法

1.通過explain或者explain extended來檢視執行計畫。explain select from u3 執行結果 stage dependencies stage 0 is a root stage stage plans stage stage 0 fetch operator l...

Hive(九) Hive引數配置方式

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