day05作业

--创建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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值