● 摘要
随着互联网的飞速发展,互联网产生的web日志数据越积越多。对海量和异构的web日志数据进行整合,建立自己的数据仓库,从中获取更多有用的信息,是每个企业都在追求的目标。然而,在海量数据ETL方面,传统ETL工具在空间和计算效率方面都存在着明显的不足。Hadoop分布式软件架构的出现,弥补了传统ETL工具的不足,Hadoop内置的数据仓库工具Hive能够良好的支持对海量数据的ETL。
本系统基于Hadoop以及Hive,实现了海量数据的ETL,通过ETL的三个主要步骤——数据获取、数据清洗和数据转化,将海量数据转换成星型模型并装入数据仓库,完成了企业的数据仓库的建设。同时,本系统采用工作流式任务调度器,实现了ETL作业的自动化运行。该工作流式任务调度器将ETL计算作业触发成一系列的带有偏序关系的子作业,为子作业分配执行资源,检查子作业间的依赖和约束关系并且监控子作业的执行,解决了ETL作业子作业之间的复杂调用关系,实现了ETL作业的自动化调度、运行资源的分配以及运行状态的监控。
本文首先将Hadoop/Hive方式与传统ETL工具进行对比分析,得出了其在海量数据ETL上的优势,然后在功能和非功能方面对系统进行了需求分析。在系统设计阶段,介绍了整个系统的框架设计,以及用户交互模块、调度模块和与ETL模块的详细设计。最后给出了系统的测试报告,验证系统已达到设计目标。
相关内容
相关标签