美文网首页
百问中台:数据中台ODDA之ODS层建模

百问中台:数据中台ODDA之ODS层建模

作者: sknfie | 来源:发表于2021-03-26 11:24 被阅读0次

概述

脚本一键安装完数据仓库,并且源数据也已经准备完毕,接下来就是进行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;

相关文章

网友评论

      本文标题:百问中台:数据中台ODDA之ODS层建模

      本文链接:https://www.haomeiwen.com/subject/tzyrhltx.html