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,其接收的結果為元祖 ...