电商项目有些烂大街,但是作为学习,目的是通过此项目来学习各个模块的使用。
文章目录
一. 项目需求及数据流图
需求
通过对网站的apache common日志进行分析,计算该网站的一些关键指标,供运营者进行决策时参考。
开发该系统的目的是为了获取一些业务相关的指标,这些指标在第三方工具中无法获得的。
数据流图
数据来源从js和java端由nginx获取,nginx采用消息队列来接受数据,把日志存放在本地的log文件中。最终将数据存放在HDFS中。通过Flume将本地log数据存放到HDFS中。
数据清洗阶段:ETL,这里使用MapReduce来实现。
经过ETL后,已经成了规则的数据,这里选择把数据放入到HBase中。
使用MapReduce和Hive来对Hbase中的数据进行分析和查询;(结合具体场景来看需要应用哪种技术)
将MapReduce处理好的数据存放入MySQL数据库中,Hive通过sqoop转化到Mysql中。