--创建ods层数据库
CREATE DATABASE yipin_ods;
--全量覆盖
DROP table if exists yipin_ods.t_date;
CREATE TABLE if not exists yipin_ods.t_date(
dim_date_id string COMMENT '日期',
date_code string COMMENT '日期编码',
lunar_calendar string COMMENT '农历',
year_code string COMMENT '年code',
year_name string COMMENT '年名称',
month_code string COMMENT '月份编码',
month_name string COMMENT '月份名称',
quanter_code string COMMENT '季度编码',
quanter_name string COMMENT '季度名称',
year_month string COMMENT '年月',
year_week_code string COMMENT '一年中第几周',
year_week_name string COMMENT '一年中第几周名称',
year_week_code_cn string COMMENT '一年中第几周(中国)',
year_week_name_cn string COMMENT '一年中第几周名称(中国',
week_day_code string COMMENT '周几code',
week_day_name string COMMENT '周几名称',
day_week string COMMENT '周',
day_week_cn string COMMENT '周(中国)',
day_week_num string COMMENT '一周第几天',
day_week_num_cn string COMMENT '一周第几天(中国)',
day_month_num string COMMENT '一月第几天',
day_year_num string COMMENT '一年第几天',
date_id_wow string COMMENT '与本周环比的上周日期',
date_id_mom string COMMENT '与本月环比的上月日期',
date_id_wyw string COMMENT '与本周同比的上年日期',
date_id_mym string COMMENT '与本月同比的上年日期',
first_date_id_month string COMMENT '本月第一天日期',
last_date_id_month string COMMENT '本月最后一天日期',
half_year_code string COMMENT '半年code',
half_year_name string COMMENT '半年名称',
season_code string COMMENT '季节编码',
season_name string COMMENT '季节名称',
is_weekend string COMMENT '是否周末(周六和周日)',
official_holiday_code string COMMENT '法定节假日编码',
official_holiday_name string COMMENT '法定节假日',
festival_code string COMMENT '节日编码',
festival_name string COMMENT '节日',
custom_festival_code string COMMENT '自定义节日编码',
custom_festival_name string COMMENT '自定义节日',
update_time string COMMENT '更新时间'
) COMMENT'日期维度表'
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'
STORED AS ORC
TBLPROPERTIES('orc.compress' = 'ZLIB');
DROP table if exists yipin_ods.t_districte;
CREATE TABLE `yipin_ods.t_district` (
id string COMMENT '主键ID',
code string COMMENT '区域编码',
name string COMMENT '区域名称',
pid string COMMENT '父级ID',
alias string COMMENT '别名'
) COMMENT '区域表'
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'
STORED AS ORC
TBLPROPERTIES('orc.compress' = 'ZLIB');
--导入数据
sqoop import --connect jdbc:mysql://hadoop01:3306/yipin --username root --password 123456 --table t_date --fields-terminated-by '\t' --hcatalog-database yipin_ods --hcatalog-table t_date --m 1
sqoop import --connect jdbc:mysql://hadoop01:3306/yipin --username root --password 123456 --table t_district --fields-terminated-by '\t' --hcatalog-database yipin_ods --hcatalog-table t_district --m 1
;
SELECT * FROM yipin_ods.t_date;
select * from yipin_ods.t_district where t_district.name='榆中县';
--增量同步
--创建表
CREATE TABLE t_goods_evaluation (
id string,
user_id string COMMENT '评论人id',
store_id string COMMENT '店铺id',
order_id string COMMENT '订单id',
geval_scores int COMMENT '综合评分',
geval_scores_speed int COMMENT '送货速度评分0-5分(配送评分)',
geval_scores_service int COMMENT '服务评分0-5分',
geval_isanony tinyint COMMENT '0-匿名评价,1-非匿名',
create_user string,
create_time string,
update_user string,
update_time string,
is_valid tinyint COMMENT '0 :失效,1 :开启'
)
comment '商品评价表'
partitioned by(dt string) row format delimited fields terminated by '\t' stored as orc tblproperties('orc.compress'='ZLIB');
SELECT count(*) from yipin_ods.t_goods_evaluation;
--导入数据:
sqoop import --connect jdbc:mysql://hadoop01:3306/yipin --username root --password 123456 --query "select *,'2022-03-09'as dt from t_goods_evaluation where create_time <'2022-03-09' and \$CONDITIONS " --fields-terminated-by '\t' --hcatalog-database yipin_ods --hcatalog-table t_goods_evaluation --m 1
CREATE TABLE yipin_ods.t_user_login (
id string,
login_user string,
login_type string COMMENT '登录类型(登陆时使用)',
client_id string COMMENT '推送标示id(登录、第三方登录、注册、支付回调、给用户推送消息时使用)',
login_time string ,
login_ip string,
logout_time string
)
comment '登录记录表'
partitioned by(dt string) row format delimited fields terminated by '\t' stored as orc tblproperties('orc.compress'='ZLIB');
--导入数据
sqoop import --connect jdbc:mysql://hadoop01:3306/yipin --username root --password 123456 --query "select *,'2022-03-09'as dt from t_order_pay where create_time <'2022-03-09' and \$CONDITIONS " --fields-terminated-by '\t' --hcatalog-database yipin_ods --hcatalog-table t_order_pay --m 1
CREATE TABLE yipin_ods.t_order_pay (
id string,
group_id string COMMENT '关联shop_order_group的group_id,一对多订单',
order_pay_amount string COMMENT '订单总金额;',
create_date string COMMENT '订单创建的时间,需要根据订单创建时间进行判断订单是否已经失效',
create_user string,
create_time string,
update_user string,
update_time string,
is_valid tinyint COMMENT '是否有效 0: false; 1: true; 订单是否有效的标志'
)
comment '订单组支付表'
partitioned by(dt string) row format delimited fields terminated by '\t' stored as orc tblproperties('orc.compress'='ZLIB');
--插入数据
sqoop import --connect jdbc:mysql://hadoop01:3306/yipin --username root --password 123456 --query "select *,'2022-03-09'as dt from t_user_login where login_time <'2022-03-09 00:00:00' and \$CONDITIONS " --fields-terminated-by '\t' --hcatalog-database yipin_ods --hcatalog-table t_user_login --m 1
SELECT count(*) FROM yipin_ods.t_order_pay;
--新增及更新数据表
CREATE TABLE t_store (
id string,
user_id string,
store_avatar string,
address_info string,
name string,
store_phone string,
province_id int ,
city_id int ,
area_id int ,
mb_title_img string,
store_description string,
notice string,
is_pay_bond tinyint ,
trade_area_id string,
delivery_method tinyint ,
origin_price decimal ,
free_price decimal ,
store_type int ,
store_label string,
search_key string,
end_time string,
start_time string,
operating_status tinyint ,
create_user string,
create_time string ,
update_user string,
update_time string ,
is_valid tinyint ,
state string,
idCard string,
deposit_amount decimal ,
delivery_config_id string,
aip_user_id string,
search_name string,
automatic_order tinyint ,
is_primary tinyint ,
parent_store_id string
)
comment '店铺表'
partitioned by(dt string) row format delimited fields terminated by '\t' stored as orc tblproperties('orc.compress'='ZLIB');
--导入数据
sqoop import --connect jdbc:mysql://hadoop01:3306/yipin --username root --password 123456 --query "select *,'2022-03-09'as dt from t_store where create_time <'2022-03-09 00:00:00'or update_time<'2022-03-09 00:00:00' and \$CONDITIONS " --fields-terminated-by '\t' --hcatalog-database yipin_ods --hcatalog-table t_store --m 1
CREATE TABLE t_trade_area (
id string,
user_id string,
user_allinpay_id string,
trade_avatar string,
name string,
notice string,
distric_province_id int ,
distric_city_id int ,
distric_area_id int ,
address string,
radius double ,
mb_title_img string,
deposit_amount decimal ,
hava_deposit int ,
state tinyint ,
search_key string,
create_user string,
create_time string ,
update_user string,
update_time string ,
is_valid tinyint
) comment '商圈表'
partitioned by(dt string) row format delimited fields terminated by '\t' stored as orc tblproperties('orc.compress'='ZLIB');
--导入数据
sqoop import --connect jdbc:mysql://hadoop01:3306/yipin --username root --password 123456 --query "select *,'2022-03-09'as dt from t_trade_area where create_time <'2022-03-09 00:00:00'or update_time<'2022-03-09 00:00:00' and \$CONDITIONS " --fields-terminated-by '\t' --hcatalog-database yipin_ods --hcatalog-table t_trade_area --m 1
CREATE TABLE t_location (
id string COMMENT '主键',
type int COMMENT '类型 1:商圈地址;2:店铺地址;3.用户地址管理;4.订单买家地址信息;5.订单卖家地址信息',
correlation_id string COMMENT '关联表id',
address string COMMENT '地图地址详情',
latitude double COMMENT '纬度',
longitude double COMMENT '经度',
street_number string COMMENT '门牌',
street string COMMENT '街道',
district string COMMENT '区县',
city string COMMENT '城市',
province string COMMENT '省份',
business string COMMENT '百度商圈字段,代表此点所属的商圈',
create_user string ,
create_time string ,
update_user string ,
update_time string ,
is_valid tinyint COMMENT '是否有效 0: false; 1: true',
adcode string COMMENT '百度adcode,对应区县code'
) comment '地址信息表'
partitioned by(dt string) row format delimited fields terminated by '\t' stored as orc tblproperties('orc.compress'='ZLIB');
--导入数据
sqoop import --connect jdbc:mysql://hadoop01:3306/yipin --username root --password 123456 --query "select *,'2022-03-09'as dt from t_location where create_time <'2022-03-09 00:00:00'or update_time<'2022-03-09 00:00:00' and \$CONDITIONS " --fields-terminated-by '\t' --hcatalog-database yipin_ods --hcatalog-table t_location --m 1
SELECT count(*) FROM t_location;
CREATE TABLE t_goods (
id string ,
store_id string COMMENT '所属商店ID',
class_id string COMMENT '分类id:只保存最后一层分类id',
store_class_id string COMMENT '店铺分类id',
brand_id string COMMENT '品牌id',
goods_name string COMMENT '商品名称',
goods_specification string COMMENT '商品规格',
search_name string COMMENT '模糊搜索名称字段:名称_+真实名称',
goods_sort int COMMENT '商品排序',
goods_market_price decimal COMMENT '商品市场价',
goods_price decimal COMMENT '商品销售价格(原价)',
goods_promotion_price decimal COMMENT '商品促销价格(售价)',
goods_storage int COMMENT '商品库存',
goods_limit_num int COMMENT '购买限制数量',
goods_unit string COMMENT '计量单位',
goods_state tinyint COMMENT '商品状态 1正常,2下架,3违规(禁售)',
goods_verify tinyint COMMENT '商品审核状态: 1通过,2未通过,3审核中',
activity_type tinyint COMMENT '活动类型:0无活动1促销2秒杀3折扣',
discount int COMMENT '商品折扣(%)',
seckill_begin_time string COMMENT '秒杀开始时间',
seckill_end_time string COMMENT '秒杀结束时间',
seckill_total_pay_num int COMMENT '已秒杀数量',
seckill_total_num int COMMENT '秒杀总数限制',
seckill_price decimal COMMENT '秒杀价格',
top_it tinyint COMMENT '商品置顶:1-是,0-否',
create_user string ,
create_time string ,
update_user string ,
update_time string ,
is_valid tinyint COMMENT '0 :失效,1 :开启'
) comment '店铺商品表'
partitioned by(dt string) row format delimited fields terminated by '\t' stored as orc tblproperties('orc.compress'='ZLIB');
sqoop import --connect jdbc:mysql://hadoop01:3306/yipin --username root --password 123456 --query "select *,'2022-03-09'as dt from t_goods where create_time <'2022-03-09 00:00:00'or update_time<'2022-03-09 00:00:00' and \$CONDITIONS " --fields-terminated-by '\t' --hcatalog-database yipin_ods --hcatalog-table t_goods --m 1
CREATE TABLE t_goods_class (
id string ,
store_id string COMMENT '店铺id',
class_id string COMMENT '对应的平台分类表id',
name string COMMENT '店铺内分类名字',
parent_id string COMMENT '父id',
level tinyint COMMENT '分类层级',
is_parent_node tinyint COMMENT '是否为父节点:1是0否',
background_img string COMMENT '背景图片',
img string COMMENT '分类图片',
keywords string COMMENT '关键词',
title string COMMENT '搜索标题',
sort int COMMENT '排序',
note string COMMENT '类型描述',
url string COMMENT '分类的链接',
is_use tinyint COMMENT '是否使用:0否,1是',
create_user string ,
create_time string ,
update_user string ,
update_time string ,
is_valid tinyint COMMENT '0 :失效,1 :开启'
) comment '商品分类表'
partitioned by(dt string) row format delimited fields terminated by '\t' stored as orc tblproperties('orc.compress'='ZLIB');
sqoop import --connect jdbc:mysql://hadoop01:3306/yipin --username root --password 123456 --query "select *,'2022-03-09'as dt from t_goods_class where create_time <'2022-03-09 00:00:00'or update_time<'2022-03-09 00:00:00' and \$CONDITIONS " --fields-terminated-by '\t' --hcatalog-database yipin_ods --hcatalog-table t_goods_class --m 1
CREATE TABLE t_brand (
id string ,
store_id string COMMENT '店铺id',
brand_pt_id string COMMENT '平台品牌库品牌Id',
brand_name string COMMENT '品牌名称',
brand_image string COMMENT '品牌图片',
initial string COMMENT '品牌首字母',
sort int COMMENT '排序',
is_use tinyint COMMENT '0禁用1启用',
goods_state tinyint COMMENT '商品品牌审核状态 1 审核中,2 通过,3 拒绝',
create_user string ,
create_time string ,
update_user string ,
update_time string ,
is_valid tinyint COMMENT '0 :失效,1 :开启'
) comment '品牌表'
partitioned by(dt string) row format delimited fields terminated by '\t' stored as orc tblproperties('orc.compress'='ZLIB');
sqoop import --connect jdbc:mysql://hadoop01:3306/yipin --username root --password 123456 --query "select *,'2022-03-09'as dt from t_brand where create_time <'2022-03-09 00:00:00'or update_time<'2022-03-09 00:00:00' and \$CONDITIONS " --fields-terminated-by '\t' --hcatalog-database yipin_ods --hcatalog-table t_brand --m 1
;
CREATE TABLE t_shop_order (
id string COMMENT '根据一定规则生成的订单编号',
order_num string COMMENT '订单序号',
buyer_id string COMMENT '买家的userId',
store_id string COMMENT '店铺的id',
order_from tinyint COMMENT '是来自于app还是小程序,或者pc 1.安卓; 2.ios; 3.小程序H5 ; 4.PC',
order_state int COMMENT '订单状态:1.已下单; 2.已付款, 3. 已确认 ;4.配送; 5.已完成; 6.退款;7.已取消',
create_date string COMMENT '下单时间',
finnshed_time string COMMENT '订单完成时间,当配送员点击确认送达时,进行更新订单完成时间,后期需要根据订单完成时间,进行自动收货以及自动评价',
is_settlement tinyint COMMENT '是否结算;0.待结算订单; 1.已结算订单;',
is_delete tinyint COMMENT '订单评价的状态:0.未删除; 1.已删除;(默认0)',
evaluation_state tinyint COMMENT '订单评价的状态:0.未评价; 1.已评价;(默认0)',
way string COMMENT '取货方式:SELF自提;SHOP店铺负责配送',
is_stock_up int COMMENT '是否需要备货 0:不需要 1:需要 2:平台确认备货 3:已完成备货 4平台已经将货物送至店铺 ',
create_user string ,
create_time string ,
update_user string ,
update_time string ,
is_valid tinyint COMMENT '是否有效 0: false; 1: true; 订单是否有效的标志'
)COMMENT '订单表'
partitioned by(dt string) row format delimited fields terminated by '\t' stored as orc tblproperties('orc.compress'='ZLIB');
sqoop import --connect jdbc:mysql://hadoop01:3306/yipin --username root --password 123456 --query "select *,'2022-03-09'as dt from t_shop_order where create_time <'2022-03-09 00:00:00'or update_time<'2022-03-09 00:00:00' and \$CONDITIONS " --fields-terminated-by '\t' --hcatalog-database yipin_ods --hcatalog-table t_shop_order --m 1
CREATE TABLE t_shop_order_address_detail (
id string COMMENT '关联订单的id',
order_amount decimal COMMENT '订单总金额:购买总金额-优惠金额',
discount_amount decimal COMMENT '优惠金额',
goods_amount decimal COMMENT '用户购买的商品的总金额+运费',
is_delivery string COMMENT '0.自提;1.配送',
buyer_notes string COMMENT '买家备注留言',
pay_time string COMMENT '支付时间',
receive_time string COMMENT '接单时间',
delivery_begin_time string COMMENT '开始配送时间',
arrive_store_time string COMMENT '配送员到达店铺时间',
arrive_time string COMMENT '订单完成时间,当配送员点击确认送达时,进行更新订单完成时间,后期需要根据订单完成时间,进行自动收货以及自动评价',
create_user string ,
create_time string ,
update_user string ,
update_time string ,
is_valid tinyint COMMENT '是否有效 0: false; 1: true; 订单是否有效的标志'
) COMMENT '订单副表'
partitioned by(dt string) row format delimited fields terminated by '\t' stored as orc tblproperties('orc.compress'='ZLIB');
CREATE TABLE t_goods_evaluation_detail (
id string ,
user_id string COMMENT '评论人id',
store_id string COMMENT '店铺id',
goods_id string COMMENT '商品id',
order_id string COMMENT '订单id',
order_goods_id string COMMENT '订单商品表id',
geval_scores_goods int COMMENT '商品评分0-10分',
geval_content string ,
geval_content_superaddition string COMMENT '追加评论',
geval_addtime string COMMENT '评论时间',
geval_addtime_superaddition string COMMENT '追加评论时间',
geval_state tinyint COMMENT '评价状态 1-正常 0-禁止显示',
geval_remark string COMMENT '管理员对评价的处理备注',
revert_state tinyint COMMENT '回复状态0未回复1已回复',
geval_explain string COMMENT '管理员回复内容',
geval_explain_superaddition string COMMENT '管理员追加回复内容',
geval_explaintime string COMMENT '管理员回复时间',
geval_explaintime_superaddition string COMMENT '管理员追加回复时间',
create_user string ,
create_time string ,
update_user string ,
update_time string ,
is_valid tinyint COMMENT '0 :失效,1 :开启'
)
comment '订单评价明细表'
partitioned by(dt string) row format delimited fields terminated by '\t' stored as orc tblproperties('orc.compress'='ZLIB');
sqoop import --connect jdbc:mysql://hadoop01:3306/yipin --username root --password 123456 --query "select *,'2022-03-09'as dt from t_goods_evaluation_detail where create_time <'2022-03-09 00:00:00'or update_time<'2022-03-09 00:00:00' and \$CONDITIONS " --fields-terminated-by '\t' --hcatalog-database yipin_ods --hcatalog-table t_goods_evaluation_detail --m 1
CREATE TABLE t_trade_record (
id string COMMENT '交易单号',
external_trade_no string COMMENT '(支付,结算.退款)第三方交易单号',
relation_id string COMMENT '关联单号',
trade_type tinyint COMMENT '1.支付订单; 2.结算订单; 3.退款订单;4.充值单;5.提现单;6.分销单;7缴纳保证金单8退还保证金单9,冻结通联订单,10通联通账户余额充值,11.扫码单',
status tinyint COMMENT '1.成功;2.失败;3.进行中',
finnshed_time string COMMENT '订单完成时间,当配送员点击确认送达时,进行更新订单完成时间,后期需要根据订单完成时间,进行自动收货以及自动评价',
fail_reason string COMMENT '交易失败的原因',
payment_type string COMMENT '支付方式:小程序,app微信,支付宝,快捷支付,钱包,银行卡,消费券',
trade_before_balance decimal COMMENT '交易前余额',
trade_true_amount decimal COMMENT '交易实际支付金额,第三方平台扣除优惠以后实际支付金额',
trade_after_balance decimal COMMENT '交易后余额',
note string COMMENT '业务说明',
user_card string COMMENT '第三方平台账户标识/多钱包用户钱包id',
user_id string COMMENT '用户id',
aip_user_id string COMMENT '钱包id',
create_user string ,
create_time string ,
update_user string ,
update_time string ,
is_valid tinyint COMMENT '是否有效 0: false; 1: true; 订单是否有效的标志'
)
comment '交易记录表'
partitioned by(dt string) row format delimited fields terminated by '\t' stored as orc tblproperties('orc.compress'='ZLIB');
sqoop import --connect jdbc:mysql://hadoop01:3306/yipin --username root --password 123456 --query "select *,'2022-03-09'as dt from t_trade_record where create_time <'2022-03-09 00:00:00'or update_time<'2022-03-09 00:00:00' and \$CONDITIONS " --fields-terminated-by '\t' --hcatalog-database yipin_ods --hcatalog-table t_trade_record --m 1
day05作业
最新推荐文章于 2024-11-11 08:41:40 发布