电商日志分析

在这里插入图片描述
1、客户端访问->js和java数据收集
2、nginx服务器负载均衡发送到各个Tomcat服务器,数据在nginx上分析
3、nginx生成log日志文件放到本地目录下
4、通过flume收集日志信息,流程 https://blog.csdn.net/qq_37344518/article/details/83717716
5、输出到hdfs(脏数据),用MapReduce做数据过滤,过滤出IP,浏览器,操作系统,用户位置等信息。
6、从hdfs进行ETL数据清洗之后输入到HBASE(只是聚合,不用运算,所以省略reduce过程,不用进行shuffer)
7.1、使用MapReduce输出到mysql数据库,入口为hbase,出口为mysql
7.2、存放数据到hive,再使用sqoop数据迁移放入到mysql数据库中

一、需求分析
对平台用户访问过的信息进行统计,比如用户访问深度等,分成如下几个模块

  • 用户基本信息分析
  • 浏览器信息分析
  • 地域信息分析
  • 用户浏览深度分析
  • 外联数据分析
  • 订单分析

二、获取数据
用户进入网页,会先判断是否是新用户或者老用户,即判断sessionid是否过期。在用户触发事件时调用java代码取到数据。

三、NGINX负载均衡
因为访问量一般都会很大,会由nginx做负载均衡后转发到各个Tomcat服务器,数据在转发之前收集。启动后各种操作会生成日志。

四、flume日志收集
flume的Source来源就是nginx日志,每接到一条消息都会放到Channel管道中,通过sink接口输出到hdfs。其中要在多个节点上完成flume聚合,第一个flume的Sinks输出是第二个flume的Source输入。

五、hdfs
通过MapReduce进行数据的简单清洗

六、hbase
根据要求将数据进行过滤,在MapReduce代码中重写map即可,不用进行reduce聚合运算,省去了shuffer落地磁盘过程,大大加快速度。

项目遇到的问题
把数据导入hbase中时,速度非常慢,导致集群有机器死机。经过查询资料发现,在进行数据导入时不需要进行reduce运算,只需要map运算即可,因为后面具体的数据清洗也会进行这一步骤。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值