(9)第4章需求一:GMV成交總額 4.1 ADS層9

第4章需求一:GMV成交總額
4.1 ADS層
4.1.2建表語句

hive (gmall)>
drop table if exists ads_gmv_sum_day;
create external table ads_gmv_sum_day(
dt string COMMENT ‘統計日期’,
gmv_count bigint COMMENT ‘當日gmv訂單個數’,
gmv_amount decimal(16,2) COMMENT ‘當日gmv訂單總金額’,
gmv_payment decimal(16,2) COMMENT ‘當日支付金額’
) COMMENT ‘GMV’
row format delimited fields terminated by ‘\t’
location ‘/warehouse/gmall/ads/ads_gmv_sum_day/’
;
4.1.3數據導入

1)數據導入
hive (gmall)>
insert into table ads_gmv_sum_day
select
‘2019-02-10’ dt,
sum(order_count)gmv_count,
sum(order_amount) gmv_amount,
sum(payment_amount) payment_amount
from dws_user_action
where dt =‘2019-02-10’
group by dt
;
2)查詢導入數據
hive (gmall)> select * from ads_gmv_sum_day;

4.1.4數據導入腳本

1)在/home/atguigu/bin目錄下創建腳本ads_db_gmv.sh
[atguigu@hadoop102 bin]$ vim ads_db_gmv.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="
insert into table "APP".adsgmvsumdayselectAPP".ads_gmv_sum_day select 'do_date’ dt,
sum(order_count) gmv_count,
sum(order_amount) gmv_amount,
sum(payment_amount) payment_amount
from "APP".dwsuseractionwheredt=APP".dws_user_action where dt ='do_date’
group by dt;
"

hivee"hive -e "sql"
2)增加腳本執行權限
[atguigu@hadoop102 bin]$ chmod 777 ads_db_gmv.sh
3)執行腳本導入數據
[atguigu@hadoop102 bin]$ads_db_gmv.sh 2019-02-11
4)查看導入數據
hive (gmall)>
select * from ads_gmv_sum_day where dt=‘2019-02-11’ limit 2;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章