假如你的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就會比較麻煩 這兩天就遇到需要批量刪除有命名...