概述
脚本一键安装完数据仓库,并且源数据也已经准备完毕,接下来就是进行ODDA建模。这是数据中台最为核心的部分,其实就是数据仓库的那个套路。你懂的。。。
ODDA建模
1. 启动hive
在node3
hive --service hiveserver2 &
//元数据
hive --service metastore &
2.ODS模型
- 上传脚本
mkdir -p /home/warehouse/sql
//创建脚本
ads_sale_ddl.sql dwd_ddl.sql dws_ddl.sql mysql_sale.sql ods_ddl.sql
chmod +x *
- 创建表
mkdir -p /home/warehouse/sql
hive -f /home/warehouse/sql/ods_ddl.sql
- 验证
[root@node03 sql]# hive
hive> show databases;
hive> use mall;
hive> show tables;
- 导入数据
创建脚本ods_db.sh
#!/bin/bash
#传入一个时间,$1为时间
do_date=$1
APP=mall
hive=hive
sql="
load data inpath '/origin_data/$APP/db/order_info/$do_date' OVERWRITE into table $APP"".ods_order_info partition(dt='$do_date');
load data inpath '/origin_data/$APP/db/order_detail/$do_date' OVERWRITE into table $APP"".ods_order_detail partition(dt='$do_date');
load data inpath '/origin_data/$APP/db/sku_info/$do_date' OVERWRITE into table $APP"".ods_sku_info partition(dt='$do_date');
load data inpath '/origin_data/$APP/db/user_info/$do_date' OVERWRITE into table $APP"".ods_user_info partition(dt='$do_date');
load data inpath '/origin_data/$APP/db/payment_info/$do_date' OVERWRITE into table $APP"".ods_payment_info partition(dt='$do_date');
load data inpath '/origin_data/$APP/db/base_category1/$do_date' OVERWRITE into table $APP"".ods_base_category1 partition(dt='$do_date');
load data inpath '/origin_data/$APP/db/base_category2/$do_date' OVERWRITE into table $APP"".ods_base_category2 partition(dt='$do_date');
load data inpath '/origin_data/$APP/db/base_category3/$do_date' OVERWRITE into table $APP"".ods_base_category3 partition(dt='$do_date');
"
$hive -e "$sql"
执行脚本:
./ods_db.sh 2021-03-24
查看数据是否正确导入
[root@node03 sql]# hive
hive> show databases;
hive> use mall;
hive> show tables;
hive> select count(1) from ods_user_info;
网友评论