7. 业务表结构 及 RDS层的数据同步到ODS层 及 ODS层的构建
业务表结构
1. RDS操作
1. 购买RDS
2. 购买成功界面
3. 设置白名单
4. 设置外网地址
5. 创建账号
2. Navicat连接
1. 连接表
2. 新建数据库
3. 导入SQL表
4. 生成数据
3. ODS层数据表创建
1. 在maxcompute中创建11张表
CREATE TABLE `ods_order_info_di` (
`id` string COMMENT '订单编号',
`total_amount` double COMMENT '订单金额',
`order_status` string COMMENT '订单状态',
`user_id` string COMMENT '用户 id',
`payment_way` string COMMENT '支付方式',
`out_trade_no` string COMMENT '支付流水号',
`create_time` string COMMENT '创建时间',
`operate_time` string COMMENT '操作时间',
`province_id` string COMMENT '省份'
)
COMMENT '订单表'
PARTITIONED BY (ds string);
CREATE TABLE `ods_order_detail_di` (
`id` string COMMENT '明细 id',
`order_id` string COMMENT '订单 id',
`sku_id` string COMMENT '商品 id',
`sku_name` string COMMENT '商品名称',
`order_price` double COMMENT '购买价格',
`sku_num` bigint COMMENT '购物数量',
`create_time` string COMMENT '创建时间'
)
COMMENT '订单明细'
PARTITIONED BY (ds string);
CREATE TABLE `ods_sku_info_df` (
`id` string COMMENT 'skuid',
`spu_id` string COMMENT 'spuid',
`price` double COMMENT '价格',
`sku_name` string COMMENT '商品名称',
`sku_desc` string COMMENT '商品描述',
`weight` double COMMENT '重量(千克)',
`tm_id` string COMMENT '品牌 id',
`category3_id` string COMMENT '品类 id',
`create_time` string COMMENT '创建时间'
)
COMMENT '商品信息'
PARTITIONED BY (ds string);
CREATE TABLE `ods_user_info_df` (
`id` string COMMENT '用户 id',
`name` string COMMENT '姓名',
`birthday` string COMMENT '生日',
`gender` string COMMENT '性别',
`email` string COMMENT '邮箱',
`user_level` string COMMENT '用户等级',
`create_time` string COMMENT '创建时间'
)
COMMENT '用户信息'
PARTITIONED BY (ds string);
CREATE TABLE `ods_base_category3_df` (
`id` string COMMENT '三级品类 id',
`name` string COMMENT '名称',
`category2_id` string COMMENT '二级品类 id'
)
COMMENT '三级品类信息'
PARTITIONED BY (ds string);
CREATE TABLE `ods_base_trademark_df` (
`tm_id` string COMMENT '品牌 id',
`tm_name` string COMMENT '名称'
)
COMMENT '品牌信息'
PARTITIONED BY (ds string);
CREATE TABLE `ods_base_category1_df` (
`id` string COMMENT '一级品类 id',
`name` string COMMENT '名称'
)
COMMENT '一级品类信息'
PARTITIONED BY (ds string);
CREATE TABLE `ods_base_category2_df` (
`id` string COMMENT '二级品类 id',
`name` string COMMENT '名称',
`category1_id` string COMMENT '一级品类 id'
)
COMMENT '二级品类信息'
PARTITIONED BY (ds string);
CREATE TABLE `ods_payment_info_di` (
`id` bigint COMMENT '编号',
`out_trade_no` string COMMENT '对外业务编号',
`order_id` string COMMENT '订单编号',
`user_id` string COMMENT '用户编号',
`alipay_trade_no` string COMMENT '支付宝交易流水编号',
`total_amount` double COMMENT '支付金额',
`subject` string COMMENT '交易内容',
`payment_type` string COMMENT '支付类型',
`payment_time` string COMMENT '支付时间'
)
COMMENT '支付流水表'
PARTITIONED BY (ds string);
CREATE TABLE `ods_base_region_df` (
`id` bigint COMMENT '地区 id',
`region_name` string COMMENT '地区名称'
)
COMMENT '地区'
PARTITIONED BY (ds string);
CREATE TABLE `ods_base_province_df` (
`id` bigint COMMENT '品牌 id',
`name` string COMMENT '名称',
`region_id` bigint COMMENT '地区 id'
)
COMMENT '省份'
PARTITIONED BY (ds string);
2. 导入ODS层11张表
3. RDS层的数据同步到ODS层
1.新建节点
2. 在dataworks中找到所见区的白名单
3. 添加白名单
4. 新建mysql数据源
5. 新建maxcompute数据源
6. 填写参数
7. 数据同步成功
8. 每日全量表同步
表1:
以此类推,将所有的表进行同步
9. 每日增量表同步
数据过滤:
DATE_FORMAT(create_time,'%Y%m%d')='${bizdate}'
注意事项
10. 每日新增及变化同步
查询的结果
11. 建立好ODS层的上下游关系
本文来自博客园,作者:jsqup,转载请注明原文链接:https://www.cnblogs.com/jsqup/p/16296323.html