3.3.9ODS层数据导入脚本
1)在/home/atguigu/bin目录下创建脚本ods_db.sh
[atguigu@hadoop102 bin]$ vim ods_db.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="
load data inpath ‘/origin_data/
A
P
P
/
d
b
/
o
r
d
e
r
i
n
f
o
/
APP/db/order_info/
APP/db/orderinfo/do_date’OVERWRITE into table "
A
P
P
"
.
o
d
s
o
r
d
e
r
i
n
f
o
p
a
r
t
i
t
i
o
n
(
d
t
=
′
APP".ods_order_info partition(dt='
APP".odsorderinfopartition(dt=′do_date’);
load data inpath ‘/origin_data/ A P P / d b / o r d e r d e t a i l / APP/db/order_detail/ APP/db/orderdetail/do_date’OVERWRITE into table " A P P " . o d s o r d e r d e t a i l p a r t i t i o n ( d t = ′ APP".ods_order_detail partition(dt=' APP".odsorderdetailpartition(dt=′do_date’);
load data inpath ‘/origin_data/ A P P / d b / s k u i n f o / APP/db/sku_info/ APP/db/skuinfo/do_date’OVERWRITE into table " A P P " . o d s s k u i n f o p a r t i t i o n ( d t = ′ APP".ods_sku_info partition(dt=' APP".odsskuinfopartition(dt=′do_date’);
load data inpath ‘/origin_data/ A P P / d b / u s e r i n f o / APP/db/user_info/ APP/db/userinfo/do_date’ OVERWRITE into table " A P P " . o d s u s e r i n f o p a r t i t i o n ( d t = ′ APP".ods_user_info partition(dt=' APP".odsuserinfopartition(dt=′do_date’);
load data inpath ‘/origin_data/ A P P / d b / p a y m e n t i n f o / APP/db/payment_info/ APP/db/paymentinfo/do_date’ OVERWRITE into table " A P P " . o d s p a y m e n t i n f o p a r t i t i o n ( d t = ′ APP".ods_payment_info partition(dt=' APP".odspaymentinfopartition(dt=′do_date’);
load data inpath ‘/origin_data/ A P P / d b / b a s e c a t e g o r y 1 / APP/db/base_category1/ APP/db/basecategory1/do_date’ OVERWRITE into table " A P P " . o d s b a s e c a t e g o r y 1 p a r t i t i o n ( d t = ′ APP".ods_base_category1 partition(dt=' APP".odsbasecategory1partition(dt=′do_date’);
load data inpath ‘/origin_data/ A P P / d b / b a s e c a t e g o r y 2 / APP/db/base_category2/ APP/db/basecategory2/do_date’ OVERWRITE into table " A P P " . o d s b a s e c a t e g o r y 2 p a r t i t i o n ( d t = ′ APP".ods_base_category2 partition(dt=' APP".odsbasecategory2partition(dt=′do_date’);
load data inpath ‘/origin_data/
A
P
P
/
d
b
/
b
a
s
e
c
a
t
e
g
o
r
y
3
/
APP/db/base_category3/
APP/db/basecategory3/do_date’ OVERWRITE into table “
A
P
P
"
.
o
d
s
b
a
s
e
c
a
t
e
g
o
r
y
3
p
a
r
t
i
t
i
o
n
(
d
t
=
′
APP".ods_base_category3 partition(dt='
APP".odsbasecategory3partition(dt=′do_date’);
"
h
i
v
e
−
e
"
hive -e "
hive−e"sql”
2)增加脚本执行权限
[atguigu@hadoop102 bin]$ chmod 777 ods_db.sh
3)执行脚本导入数据
[atguigu@hadoop102 bin]$ ods_db.sh 2019-02-10
[atguigu@hadoop102 bin]$ ods_db.sh 2019-02-11
4)查询导入数据
hive (gmall)>
select * from ods_order_info where dt='2019-02-10’limit 1;
select * from ods_order_info where dt=‘2019-02-11’ limit 1;