hive中hivevar的傳參使用

2021-09-29 07:45:54 字數 1618 閱讀 4248

1、hive引數說明

usage: hive

commands. e.g. -d a=b or --define a=b

--database specify the database to use

-e sql from command line

-f sql from files

-h,--help                        print help information

--hiveconf use value for given property

commands. e.g. --hivevar a=b

-i initialization sql file

-s,--silent                      silent mode in interactive shell

-v,--verbose                     verbose mode (echo executed sql to the

console)

2、中文說明

-e : 執行短命令

-f : 執行檔案(適合指令碼封裝) 

-s : 安靜模式,不顯示mr的執行過程

-hivevar : 傳引數 ,專門提供給使用者自定義變數。

-hiveconf : 傳引數,包括了hive-site.xml中配置的hive全域性變數。

3、hivevar與hivecon傳參使用

hivevar與hiveconf作用域都是會話級別的,言外之意就是如果兩個併發同時跑的作業同時傳入乙個相同key但是value不相同的值的引數,不會發生執行緒安全問題。

hiveconf變數取值必須要使用hiveconf作為字首引數,具體格式如下:

$

但是對於hivevar取值可以不使用字首hivevar,具體格式如下:

使用字首:

$不使用字首:

$

4、hivevar新增多個引數

hive -hivevar v_start_date='2019-11-01' -hivevar v_end_date='2019-11-03' -f select_par.sql
5、舉例

hive -hivevar v_date='2019-11-01' -s -f test_par.hql
sql指令碼:

cat test_par.hql

use default; select * from test_tab where dt=』$』 limit 3;

或:use default; select * from test_tab where dt=』$』 limit 3;

兩者是一樣的。

hive的常用互動命令 hivevar 引數傳遞

命令列模式,或者說目錄模式,可以使用hive 執行命令。選項說明 e 執行短命令 f 執行檔案 適合指令碼封裝 s 安靜模式,不顯示mr的執行過程 hivevar 傳引數 專門提供給使用者自定義變數。hiveconf 傳引數,包括了hive site.xml中配置的hive全域性變數。例子1 hiv...

hive傳參及執行命令

三種傳參 1 hiveconf hive hiveconf varage 19 database test e select from person where age 1.1 可以傳參必須用加字首的方式取值 1.2 可覆蓋hive site.xml hive default.xml 中的引數值,設...

形參中的動態傳參

1.形參的分類 形參可分為位置引數 按照位置接收引數 預設值引數 只有當實參中不給出缺省項時起作用 動態引數,其中動態引數又分為兩種,位置引數的動態傳參和關鍵字引數的動態傳參。重點區分兩種動態引數 1.1位置引數的動態傳參 表示不定傳參,可以接收任意個位置引數,引數名是args,其接收的結果為元祖 ...