3.4.3 数据处理
1)系统流程图
图3⁃26为Web日志数据分析系统的流程图,跟典型的BI系统类似。但是,由于本案例的前提是处理海量数据,因此流程中各环节所使用的技术则跟传统BI完全不同。主要包括以下五个环节。

图3⁃26 Web日志数据分析系统流程
①数据采集:定制开发采集程序,或使用开源框架Flume。
②数据预处理:定制开发MapReduce程序运行于Hadoop集群。
③数据仓库技术:基于Hadoop之上的Hive。
④数据导出:基于Hadoop的Sqoop数据导入导出工具。
⑤数据可视化:PandaBI或使用Kettle等产品。(https://www.daowen.com)
图3⁃27为Web日志数据分析系统架构图,整个流程的调度采用Hadoop生态圈的Oozie工具,也可以选用其他类似的开源调度工具。

图3⁃27 Web日志数据分析系统架构图
2)数据处理
假设采集到的数据如下:
183.195.232.138 - - [18/Sep/2013:06:50:16 +0000] "HEAD / HTTP/1.1" 200 20 "-" "DNSPod⁃Monitor/1.0"
利用MapReduce清洗数据。以下是完整的程序代码。