电商大数据分析平台项目(一)项目框架

一、项目简介

这段时间自己从网上找了一个项目课程,学着做了一个电商大数据分析平台,不过较为简陋,知识作学习用。

  • 项目环境:windows10+hadoop2.7.7+hbase2.1.0+flume1.7.0+nginx+3台linux虚拟机(三台虚拟机搭建一个hadoop完全分布式集群,同将主节点配置nginx服务器)
  • 项目需求:对给定时间段内登陆过某网站的用户进行统计分析,具体包括不同条件下新增用户统计,用户的地域分析,访问深度分析等。

二、项目架构

 

三、流程讲解

  1. 开发可以在web项目中内嵌的js sdk。每当用户浏览到网站页面或者触发某种事件时,会调用js代码,根据用户cookie发送一个session信息这时到我们的nginx服务器中。
  2. nginx服务器在接收到发送的session后会将其写入日志文件中记录下来,这时监听日志文件的flume会将session信息提取出来并写入hdfs中。
  3. 编写mapreduce程序对hdfs中的数据进行ETL,具体为把session信息分类,解析ip,解析useragent等,将ETL后的数据写入HBase中。(也可以写入hdfs中,写入hdfs中更加简单一些,但是因为是训练项目,所以想把所有组件用一下,所以就写入HBase中了)
  4. 将HBase中的数据再提取出来,编写mapreduce进行进一步处理,即项目中的核心步骤,对这些用户信息进行分析,统计等,将结果信息写入mysql中。