一、项目整体架构
二、数据说明
2.1 用户行为数据
1、启动日志数据
是一个单 json 数据
2、事件日志数据
组成:时间戳、公共字段、事件日志
事件:
(1) 商品列表
(2) 商品点击
(3) 商品详情
(4) 广告
(5) 消息通知
(6) 用户后台活跃
(7) 评论
(8) 收藏
(9) 点赞
(10) 错误日志
2.2 业务数据
1、订单表
2、订单详情表
3、sku 商品表
4、用户表
5、商品一级分类表
6、商品二级分类表
7、商品三级分类表
8、支付流水表
9、省份表
10、地区表
11、品牌表
12、订单状态表
13、spu 商品表
14、商品评论表
15、退单表
16、加购表
17、商品收藏表
18、优惠券领用表
19、优惠券表
20、活动表
21、活动订单关联表
22、优惠规则表
23、编码字典表
24、活动参与商品表
25、时间表
26、假期表
27、假期年表
三、数据导入 hdfs
3.1 用户行为数据
1、用户行为数据产生
2、日志采集 flume 配置
(1) source 为 TaildirSource。
(2) channel 为 kafka channel,省去了 sink。
(3) 自定义 flume 拦截器。
自定义了两个拦截器,分别是:ETL 拦截器、日志类型区分拦截器。
ETL 拦截器:过滤时间戳不合法和 Json 数据不完整的日志。
日志类型区分拦截器:将启动日志和事件日志区分开来,方便发往 Kafka 的不同 Topic。
3、日志消费 Flume 配置
(1) source 为 kafkaSource。
(2) channel 为 fileChannel。
(3) sink 为 hdfs 上两个路径,用 lzo 压缩。
3.2 业务数据
1、流程
sqoop 导 mysql 表到 hdfs 上,也用 lzo 压缩。
2、数据同步策略
(1) 数据