6.2.2 ADS層加載數據腳本
1)在hadoop102的/home/atguigu/bin目錄下創建腳本
[atguigu@hadoop102 bin]$ vim ads_uv_log.sh
在腳本中編寫如下內容
#!/bin/bash
定義變量方便修改
APP=gmall
hive=/opt/module/hive/bin/hive
如果是輸入的日期按照取輸入日期;如果沒輸入日期取當前時間的前一天
if [ -n “$1” ] ;then
do_date=$1
else
do_date=date -d "-1 day" +%F
fi
sql="
set hive.exec.dynamic.partition.mode=nonstrict;
insert into table “do_date’ dt,
daycount.ct,
wkcount.ct,
mncount.ct,
if(date_add(next_day(‘do_date’,‘Y’,‘N’) ,
if(last_day(‘do_date’,‘Y’,‘N’)
from
(
select
'APP”.dws_uv_detail_day
where dt=‘do_date’ dt,
count () ct
from "do_date’,‘MO’),-7),’_’ ,date_add(next_day(‘do_date’ dt,
count () ct
from "do_date’,‘yyyy-MM’)
)mncount on daycount.dt=mncount.dt;
"
sql"
2)增加腳本執行權限
[atguigu@hadoop102 bin]$ chmod 777 ads_uv_log.sh
3)腳本使用
[atguigu@hadoop102 module]$ ads_uv_log.sh 2019-02-11
4)腳本執行時間
企業開發中一般在每日凌晨30分~1點
5)查詢導入結果
hive (gmall)> select * from ads_uv_count;