环境
环境:hadoop cdh3-u6、jdk6
硬件:ubuntu-12.04
工具:mysql、oozie
离线分析
基于离线分析系统的基础上完成主要的业务报表系统的开发。大数据时代,基本上不可
能通过直接在数据库写几个 SQL 语句来跑报表的方式来生成系统业务报表。
1. 日志收集
提前分析需要准备的业务报表的统计指标,在编写组件代码的时候,进行代码层面的映
射,由各个组件代码完成关键指标的数据收集工作(即结构化日志收集)。
2. 分析流程
图 1 结构化日志收集原理
HDFS 上的结构化日志作为分析数据来源,针对每个账号设计一个用户属性模型和一个
用户流水模型,在 MapReduce 任务启动后,对计算数据进行“用户属性模型”和“用
户流水模型”的交叉运算,基于该运算能够产生基本所有的业务报表需求,整个离线分
析过程采用 oozie 进行自动调度处理。
图 2 离线分析系统首次运行
具体分析流程如下:
图 3 具体分析流程
3. 入库展示
当 oozie 的任务调用全部结束之后,所有的业务报表系统全部自动入库,展示在经营分
析系统的 web 界面上。