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

