hive 定時執行腳本


hive中,需要每天定時跑一些sql的腳本或者其他腳本,可以通過調用sh腳本

1.新建一個sh文件

[root@master log]# vim wh_hive_daily.sh

2.添加以下內容 (可以直接復制,然后修改sql里面的內容即可)

#!/bin/bash
APP=uiopdb
hive=/opt/soft/hive/bin/hive
if [-n $1] ;then
    do_date=$1
else
    do_date=`date -d "-1 day" +%F`
fi

sql="
insert into uiopdb.sx_trade_his_detail partition(dt='$do_date')
select a.*  from uiopdb.sx_trade_his a where   date_format(trade_time,'yyyy-MM-dd')='$do_date';

"

$hive -e "$sql" >>/opt/soft/hive/job/upy/log/log.$do_date

其中:

在調用腳本時,如果不指定參數,就可以直接默認昨日時間(用於正常每天運行)

如果需要指定某一天的日期時,在調用腳本時,指定其時間即可

還有,>>/opt/soft/hive/job/upy/log/log.$do_date 這個日志可以不寫

正常運行昨日數據

[root@master upy]# wh_hive_daily.sh

指定日期

[root@master upy]# wh_hive_daily.sh 2021-07-28

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM