Hive 提交指令碼步驟

2021-10-10 09:22:11 字數 1486 閱讀 9750

假如你的hive.sql執行中會有三個引數,需要後期的變動,下面給出執行命令

hive -f /root/sql/ruu1.sql --hivevar province_id=844 --hivevar dayselect=

`date +%y%m%d -d '-9 days'

` --hivevar province_name=

'廣東'

hive -f /root/sql/ruu1.sql -d province_id=844 -d dayselect=

`date +%y%m%d -d '-9 days'

` -d province_name=

'廣東'

提交步驟:

1)指令碼呼叫

test.sql

use default;

select

'$' as month

from default.user1;

use default;

select

'$' as month

from default.user1;

2)shell指令碼

start.sh

#!/bin/sh

#ecoding=utf-8

set -x

month=

`date -d 'last month' +%y-%m`

hive --hiveconf month=

$month -f test.sql

#!/bin/sh

#ecoding=utf-8

set -x

month=

`date -d 'last month' +%y-%m`

hive --hivevar month=

$month -f test.sql

3)傳參提交:

bash:hive -f 引數傳遞,執行檔案

cdh 集群

命令: hive --hivevar v_date=

'20170630' -s -f **test1.hql** -- 返回3條記錄

命令: hive --hivevar v_date=

'20170101' -s -f **test1.hql** -- 返回0條記錄

fi集群:

命令: beeline --hivevar v_date=

'20170630' -s -f test1.hql -- 返回3條記錄  

4)檔案檢視

cat test1.hql

use default;

select * from logs where dt=

'$' limit 3;

cat test2.hql

use default;

select * from logs limit 3;

git 提交步驟

建立資料夾 mkdir b10 切入資料夾 cd b10 配置全域性 git config global user.name git config global user.email imock sina.com 倉庫的初始化 git init 新建檔案readme.md touch readme....

Hive 指令碼執行

繼上篇ddl中load的資料繼續進行指令碼操作。hive執行指令碼 hive e sql語句 會將查詢的結果列印在控制台上。hive e sql語句 會將查詢的結果重定向到 檔案中,會顯示ok和抓取的資料條數 hive s e sql語句 會將查詢的結果重定向到 檔案中,不會顯示ok和抓取的資料條數...

Shell指令碼實現執行 Hive指令碼

hive是基於hadoop的乙個資料倉儲工具,可以將結構化的資料檔案hive對映為一張資料庫表,並提供完整的sql查詢功能,可以將sql語句轉換為mapreduce任務進行執行。hive目前還不支援像mysql那樣的sql指令碼,如果遇到需要批量處理hql就會比較麻煩 這兩天就遇到需要批量刪除有命名...