Kafka大数据平台的数据传输模块开发设计(3)
时间:2019-01-27 11:13 来源:毕业论文 作者:毕业论文 点击:次
(1) 数据采集:主要通过前置采集系统进行实时数据采集,采集的目标包括大用户、公司及居民电表等用电量等信息。 (2) 数据处理和数据存储:通过对前置采集的数据进行预处理,结合大数据的处理平台,对数据进行深度分析挖掘处理,并进行存储。 (3) 业务应用:根据具体的业务应用需求,对大数据平台处理的数据结果进行结合客户需求的价值展现。 下面是这个项目系统的分层设计架构模型图: 图 1.2 系统分层设计架构模型图 按照功能分层模块设计思想,整个系统分为四层,具体为: (1)存储层(Storage Layer): HDFS:用于存储海量半结构化&非结构化数据。 Mysql:存储结构表用于业务的关系查询。 HBase:用于海量数据的随机存取。 Redis:用于支持高速随机读写的数据服务。 (2)计算层(Computering Layer): Strom:用于数据预处理计算,支持海量数据的实时计算服务 。 Hadoop:支持海量数据的批处理计算。 Hive:将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,提高开发效率。 (3)传输层(Transport Layer): Kafka:用于支持非结构化的数据传输 。 Sqoop:主要用来支持在Hadoop和关系数据库(oracle、Mysql等)中传输数据。 (4)通用层(Common Layer): Meta Data Manager:元数据管理系统,包括数据生命周期管理,数据的特征等。 Dispatching System:调度系统,基于数据依赖关系,调度各个计算任务的执行顺序。 Authority Management:授权管理,控制数据的访问入口及数据访问申请流程 Monitor:监控各个服务的运行状况。 本文研究的部分是数据的传输层。根据通用大数据业务处理平台的设计思路,结合电网用采系统的特点,得出如下的参考设计架构模型: 图1.3 功能设计模型图 从图中可以了解到数据的前置是采集数据获取的通道。接下来的大数据处理还分成了几个小模块,其中预处理模块的主要功能是获取前置采集系统的数据,根据数据的特点将其分为结构化数据和非结构化数据两类:结构化数据是能够使用数据库二文表结构来 逻辑表达的信息,如数据、符号等;非结构化数据则是无法使用二文表结构逻辑的数据,如文本、图像、声音、网页等。非结构化的数据传递给Kafka,结构化的数据可以通过Sqoop向后传递。Kafka和Sqoop将处理的数据统一传递给Strom Cluster(集群)进行处理(集群数量根据处理的数据业务量规格进行设定),Strom将处理完的数据传递给Hadoop/Hive进行存储计算。数据服务是业务应用的最终需求,大数据平台的处理结果通过Mysql、HBase、Redis等方式存储,业务应用根据数据结果进行进一步分析或呈现。 1.3 主要研究内容 本人参与的是日志数据通过传输机制迁徙到Strom集群的过程研究。大数据之所以具有重要价值,是因为通过对数据的分析处理可以得到有用的信息。而由于类似Facebook的社交网站等互联网应用还有其他娱乐、传媒、医疗保健的快速发展,图像、音频、视频、文本等数据大量涌现。Gartner Group的统计结果表明,目前有80%的数据是非结构化数据,而且这个比重还保持增大的趋势。在大型企业中非结构化数据是相当重要的数据资产,数据格式多样、数据存储分散、数据总量大、增长速度快时期基本特征。而随着非结构化数据逐渐成为大数据的主体,关于非结构化数据的管理已成为大数据处理相关研究中的一个核心问题。[6]本文所涉及的日志数据在此视为非结构化数据。 (责任编辑:qin) |