1,项目背景
该项目是一个本地化独立的B2C商城,为应对商城每天访问量增大,日志量增大,该商城的决策者为了拓宽该商城在本地的发展,占领本地市场的更多份额,委托我司对该公司开发出一套分析该商城用户每天上网日志行为的分析项目,分析出一些核心的业务相关指标,而这些指标是无法从第三方工具中获得的,这样有利用决策者对商城的运营指定更加合理化的策略。
因为商城是一个本地化的商城,不像淘宝,京东这类大商城,面向全国的,所以日志量并不大,分配在3台机器上,大约500-1G的量,这些日志是按天进行保存的,统计数据要求按天进行实时更新,这些统计项包括浏览量PV、注册用户数、独立IP数、跳出率等指标。
2,框架搭建
Hadoop是专门处理离线大数据的专业化工具,其核心组件是HDFS+MapReduce,每天通过flume将各个节点日志文件合并推送到到Hadoop集群中,同时因为日志是Apache格式的文件,在对日志进行统计分析前,我们利用Hadoop的Mapreduce对这些数据进行清洗,保证格式是利于我们分析统计的。对清洗后的明细数据存入HBase中,因为HBase是一个海量的分布式的面向列存储的存储系统,使用IP:date:random作为行健,确保唯一,上网明细作为列族成员。Hive 定义了简单的类 SQL 查询语言,称为HQL,其底层是通过转化为MapReduce来实现数据的统计分析的,这样便于有SQL基础的人进