◆张建业
从传统架构IOE到Hadoop云平台的应用迁移的实现探讨
◆张建业
(国网新疆电力公司 新疆 830063)
随着企业数据信息量的增加,大数据时代的到来为企业数据信息处理提供多种新型的技术。以往企业数据处理所用的传统框架IOE是集IBM小型机、Oracle数据库以及EMC存储所组成的大型商用数据库系统。在当今该种系统架构早已不能满足企业数据处理需求,存在着较大的数据计算、处理、带宽等方面的问题。Hadoop云平台的出现,为企业数据信息处理提供更好的平台,能够实现信息高效应用。基于此,本文从传统架构IOE到Hadoop云平台的应用迁移实现角度进行分析。
传统架构IOE;Hadoop云平台;应用迁移;实现探索
在传统架构IOE中,关注的是单一系统规模,一旦系统出现问题将会导致系统需要付出成倍的代价来解决系统问题。在数据信息高速发展的当今社会中,传统架构IOE存在着较大的不适应性。而Hadoop云平台的出现能够有效的解决数据存储、计算、网络带宽等问题。借助Hadoop的良好架构提升网络系统的实际存储能力等。从整体角度分析,传统架构IOE到Hadoop云平台应用迁移,能够应对未来一段时间内数据量的增长,为网络系统稳定运行“排忧解难”。
ETL在IOE传统框架中常用的工具之一,实现传统架构IOE到Hadoop云平台的转换需要格外注意ETL工具的功能性迁移。ETL直接决定着数据仓库的构建水平,在该仓库中包含了不同业务系统中的分散用户原始数据的提取、清洗等,以及对于用户数据信息的加载和定义等。通常情况下应用传统框架IOE中的ETL进行数据抽取主要分为两种形式:PULL和PUSH。PULL的数据抽取主要是通过从业务系统数据源中直接抽取数据信息,而PUSH则是源数据所在系统,将数据借助预先定义的规则进行数据信息的提取。在系统工具的帮助下直接生成了接口数据表和视图。
那么在企业中应用ETL工具的方式与数据抽取的方式不同。企业中应用的ETL方式主要分为两种:第一,ETL;第二,ELT。这种数据转换工具的实际区别在于其转换的位置不同。其中ETL的过程主要是从比较分散形式的业务系统中获取数据信息。并且在工具中实现数据信息转换,最终将转换得到的结果应用到数据表中。该种数据处理形式中所应用的目标库压力比较小。伴随着数据仓库实际处理能力的提升,数据信息转换工作也可以应用到数据仓库中来实现其功能。该种数据处理过程实际上就是ELT过程,最为典型的方式为Hadoop云平台的应用[1]。
2.1 平台介绍
2003年Apache软件基金会旗下研发出开源分布式计算平台——Hadoop,该平台能够针对数据、带宽等问题进行综合性的处理,有效的提升网络系统的性能。从功能上与传统架构IOE相比,更加具备优势。在该平台技术中包含了两大核心技术,分别为MapReduce和HDFS。其中HDFS为Hadoop整个系统的底层支持,而MapReduce为分布式处理的实际计算框架[2]。
2.2 计算框架
MapReduce技术是谷歌所提出的一种并行性的计算模型,该模型能够应用于实际的数据信息处理以及的参数演化。同时该种模型以其数据信息的并行处理能力为系统提供较为高效的数据信息处理方案。该模型的实际应用思想主要是从函数式编程和矢量编程语言中借鉴而来,与计算机系统中的“分而治之”思想相互融合。Map能够将系统中比较复杂的问题分解为相互独立各不干扰的子问题。当在数据信息处理系统中输入关键值时,可以通过合并数据信息的方式降低传输带宽压力[3]。
2.3 HDFS
HDFS与系统中其他的操作文件块一致,在HDFS中的文件都需要被分割为若干块进行数据信息的存储。在这其中的快就是HDFS文件处理环节中的基本逻辑单元。HDFS的应用都是为对大文件的设计需求所进行开发。文件块的处理具有以下几个优点:(1)当文件的总磁盘容量不超过HDFS总量时就可以直接进行存储,并且不会受到单一节点磁盘容量的限制;(2)抽象块是设计能够有效地简化存储子系统管理方式,保障文件块与描述文件块的源数据信息能够分开;(3)系统中的容错力有效的提升[4]。
3.1 关系型数据库与Hive之间的数据迁移
在ETL应用迁移设计当中,对于关系型数据库与Hive之间的数据迁移比较关键。在该种关系数据迁移环节中,需要借助Sqoop所提供的API来实现。在该种数据迁移过程中会因权限的问题产生数据传导限制,在数据导入的过程中设计了Sever端和Client 端。从Sqoop的导入导出程序分析中能够发现,在Client端首先进行参数配置文件的读取,并且进行相应的参数验证,当参数正确的时候,进行下一步参数格式化处理,并且向系统端口中发出Post请求,注重编码的设置。在Server端口中接受Post参数,导入最新的Hadoop配置文件,并且直接调用Sqoop的RunTool方法。如果参数验证失败,则需要退出。在Sqoop抽取数据时启动MapReduce过程,由于数据源自身的特殊性导致其数据信息可能会出现倾斜的情况。例如,当以“A”开头的数据量是“M”开头的几十倍时,就会产生一定的数据倾斜[5]。
3.2 服务器与HDFS之间的数据迁移
当前,能够直接应用于传统架构向着云平台中传输数据迁移的文件大部分为第三方面的开发包。比较常见的有:Apache FTP Client数据传输接口。对于该种传输文件,Linux ftp命令也能够实现文件的实际传输。Hadoop整套的系统中文编码都是在UTF-8的基础上,相应的数据日志文件环境为GBK编码。为了使得数据传输在HDFS上依然能够实现,需要对文件进行转码处理[6]。
3.3 迁移设计
在研究传统架构IOE到Hadoop云平台的应用迁移时,以IBM WebSphere DataStage导出的结构化配置文件和半结构化的ETL函数式配置文件的转换程序设计为研究对象,相应的迁移规则按照SQL+TCL进行迁移设计。首先,SQL是一种数据库的查询语言,该种语言的应用执行主要是按照语句执行,将其实际语句应用到TCL脚本语言当中。逻辑程序开始时,按照TCL的处理逻辑,将SQL语句抽取出来,然后进行数据类型以及数据语句的替换。接下来对SQL语句进行改写,编写UDF函数实现关系,并且实际数据库函数功能;当HIVE不支持相应语句的情况下,对其进行同义转换。
综上所述,分布式计算平台——Hadoop,该平台能够针对数据、带宽等问题进行综合性的处理,有效的提升网络系统的性能。从功能上与传统架构IOE相比,更加具备优势。ETL为传统架构IOE的关键工具,在对其向Hadoop云平台进行迁移研究中,可以通过关系型数据库与Hive之间的数据迁移、服务器与HDFS之间的数据迁移等进行迁移设计。
[1]刘长亮.从传统架构IOE到Hadoop云平台的应用迁移研究与实现[D].北京邮电大学,2015.
[2]王华.基于YARN的数据挖掘系统的设计与实现[D].北京邮电大学,2015.
[3]李青云.基于HBase的应用平台的研究与实现[D].北京邮电大学,2015.
[4]刘珂.基于Hadoop平台的大数据迁移与查询方法研究及应用[D].武汉理工大学,2014.
[5]郭雷风.农业科研云原型系统设计与应用理论研究[D].中国农业科学院,2011.
[6]张晓航.大数据时代电信运营商IT架构的转型与演进方案探讨[J].移动通信,2014.