APP下载

基于Hadoop的电信大数据采集方案研究与实现

2017-05-03汪保友钱晶袁时金

电信科学 2017年1期
关键词:大数据

汪保友,钱晶,袁时金

(1.中国联合网络通信有限公司上海市分公司,上海 200050;2.同济大学软件学院,上海 201804)

基于Hadoop的电信大数据采集方案研究与实现

汪保友1,钱晶1,袁时金2

(1.中国联合网络通信有限公司上海市分公司,上海 200050;2.同济大学软件学院,上海 201804)

ETL是数据仓库实施过程中一个非常重要的步骤,设计一个能够对大数据进行有效处理的ETL流程以提高运营平台的采集效率,具有重要的实际意义。首先简单介绍某运营商大数据平台采集的主要数据内容。随后,为提升海量数据采集效率,提出了Hadoop与Oracle混搭架构解决方案。继而,提出一种动态触发式ETL调度流程与算法,与定时启动的ETL流程调度方式相比,可有效缩短部分流程的超长等待时间;有效避免资源抢占拥堵现象。最后,根据Hadoop和Oracle的系统运行日志,比较分析了两个平台的采集效率与数据量之间的关系。实践表明,混搭架构的大数据平台优势互补,可有效提升数据采集时效性,获得比较好的应用效果。关键词:大数据;ETL;Hadoop;调度流程;混搭架构

1 引言

移动互联网时代,数据资源无疑是重要的战略资源。电信运营商拥有庞大的活跃用户群体,处在大数据产业链的传输与交换中心地位,具有丰富的高价值数据资源。除了用户办理业务时产生的用户实名制基础信息外,每天还会持续产生大量的用户消费数据、用户行为数据、用户地理位置数据、用户社交UGC数据等。智能终端的普遍使用,4G网络的兴起、网络带宽的大提速等业务和技术的发展,使得运营商的数据容量变得更大,数据增长速度变得更快,数据格式变得更复杂,大数据处理的及时性变得更为迫切。如何从海量低价值的数据库中发现价值信息,如何在预期时间内实现价值发现过程,其基础是要建立稳定可靠的企业级数据仓库。众所周知,ETL(extract-transform-load,抽取—转换—加载)是数据仓库实施过程中非常重要的一个步骤。国内外很多学者在研究中发现,ETL的实施时间通常要占到数据仓库整个开发时间的60%~80%,是数据仓库开发过程中最耗费时间的阶段。ETL处理效率的高低、转换质量的好坏,直接影响着数据仓库的建设和数据挖掘结果的有效性。设计一个能够对大数据进行有效处理的ETL流程,对提高运营平台的采集效率具有重要的实际意义。

图1 省分大数据平台主要采集内容

2 主要采集内容

大数据产业的迅猛发展,给电信运营商开辟新的业务增长点,打开了机遇窗口。电信运营商在业务运营中产生大量用户信息数据和行为数据,这些数据中包括 BSS(business support system,业务支持系统)域业务数据、OSS(operation support system,运营与支撑系统)域过程数据以及VAC平台互联网数据等,以700万活跃用户为例,每天产生大约16 TB的数据。BSS包括客户关系管理(customer relationship management,CRM)、计费、账务管理、在线计费系统 (online charging system,OCS)、客服、cBSS(central business support system,集中业务支撑系统)等系统,记录用户三户资料、产品、订购、合约活动等基础信息,用户流量、语音、短信等使用详单信息,应收、预存款、缴费、欠费、账户余额等账务数据;OSS包括基站、传输、固网和核心网等网络单元,记录大量信令类详单、上网类详单、MR测量报告位置数据等。

图1列出了某省级运营商大数据平台主要采集内容。

在图1中,左边和右上侧代表来源于省分BSS、总部cBSS及总部大数据平台,内容是账单、详单、用户资料、产品服务订购、业务受理记录等结构化明细数据以及总部下发的各类明细及标签数据等。这部分数据量相对占比较小(约占运营商数据总量的5%左右);右侧阴影部分,来源于OSS和VAC平台,主要是信令类数据、位置数据和互联网内容数据,有半结构化、非结构化的数据,数据量特别庞大(约占运营商数据总量的95%)。

3 方案设计

3.1 问题提出

在长时间的系统运维实践中,从“5M1E(人机料法环测)”6个方面,采用鱼骨图法对“采集响应耗时长”的原因进行归纳总结,列出了12个末端原因,如图2所示。

其中,“海量数据采集耗时长”“流程等待时间长”两个原因,是影响 “采集响应及时率”的关键因素。考虑到Hadoop计算架构具有的高性能集群计算和存储能力,且易扩展,选择采用Hadoop与传统关系型数据库混搭模式,优势互补,既可提升数据采集时效性,又可确保核心数据服务能力的稳定。

Hadoop由Apache Lucene创始人Cutting D创建,其核心组件是HDFS和MapReduce。Hadoop通过HDFS为用户提供高容错性和高伸缩性的海量数据的分布式存储,通过MapReduce为用户提供逻辑简单、底层透明的并行处理框架。Hadoop底层存储和并行计算需要对用户进行透明化处理,可以按照实际需要搭建平台,易扩展,通过增加集群节点,可以线性地扩展计算能力。Hadoop2.0生态圈如图3所示。

HDFS具有高容错性,适合批处理、大数据处理,可构建在廉价机器上等优点,缺点是不适宜小文件存取、并发写入、文件随机修改。MapReduce是一种线性可伸展的编程模型,它建立了清晰的抽象层,采用“分而治之”思想,为用户提供逻辑简单、底层透明的并行处理框架。

Hive支持HQL语言 (一种类似传统SQL的语言),允许用户运行与SQL类似的操作,通过编译器将SQL脚本转换成对应的MapReduce程序运行,让熟悉SQL编程的人员也能拥抱Hadoop。Hive是一种纯逻辑意义上的表,Hive的表格逻辑上通过元数据进行组织和描述 (表名、表列、分区及属性),通过HDFS进行数据的实际存储。简而言之,Hive是基于Hadoop体系结构进行大数据存储及处理的数据仓库工具,它使用HQL作为查询接口,使用HDFS作为底层存储,使用MapReduce作为执行层,通过把类 SQL脚本编译解析成 MapReduce程序,简化MapReduce编程的复杂度。

3.2 基于Hadoop的采集预处理架构

采用Hadoop、传统关系型数据库混搭架构,扬长避短,对大数据平台数据进行分层管理。利用Hadoop分布式并行计算框架,对海量数据、非结构化数据进行采集预处理整合,存储SRC层、ODS层数据以及DWD层加工过度数据。将传统成熟关系型数据库(Oracle、DB2等)作为主数据仓库,对DWD层、DWA层、DM层数据进行存储管理,存储用户标签库、客户立体全息视图、粗粒度汇总数据、报表数据、多维数据、指标库等结果数据,确保核心数据服务能力的稳定。采用混搭架构的大数据支撑平台,其逻辑架构如图4所示。

图2 采集响应影响因素

图4主要包括4层结构,即数据获取层、数据存储层、数据应用层和数据服务层。采集的数据源涵盖了电信运营商拥有的过程数据和业务数据,数据资源的真实性、丰富性、完整性、连续性,集中体现运营商大数据优势。数据获取层通过基于Hadoop的ETL加工过程,包括数据校验、数据清洗、数据关联、数据汇总、数据聚合等系列加工流程,进行深度分析和信息挖掘,在数据存储层形成企业数据仓库和数据集市。数据存储层包括Hadoop管理的SRC/ ODS粒度数据以及Oracle管理的DWD/DWA、DM粒度数据。数据应用层表现形式包括:智能网优、精准营销、征信产品、智慧足迹、用户标签、用户维系、OLAP分析、异动分析、运营监控、KPI、电子书、行业应用等生产服务支撑体系。在数据服务层,可通过个性化定制、信息推送、用户搜素、能力开放等方式,实现对内对外服务。在整个数据加工处理、流转服务过程中,数据质量、数据标准、元数据、生命周期等数据管理措施贯穿始终;通过安全制度、安全技术、

图3 Hadoop2.0生态圈

图4 大数据平台逻辑架构

安全运营、安全教育等运营机制确保数据安全。

采用混搭架构的大数据支撑平台,其网络架构拓扑如图5所示。

图5 大数据平台网络架构拓扑

图5的上半部分,是基于IOE的Oracle数据库以及基于x86的Hadoop集群,组成了混搭架构的大数据平台的硬件与系统软件环境;图5的下半部分,是采集数据源的拓扑,包括OSS域系统、BSS域系统、VAC平台的各业务平台和总部集中系统等。两者之间通过查询服务器、接口服务器、DCN、IP承载网等实现数据传输交互。

3.3 动态触发式ETL调度流程

数据采集应用软件部署在Hadoop集群接口机上,程序脚本规范为两种类型,分别是:基础逻辑脚本和业务逻辑脚本。其中,基础逻辑脚本包含了日志记录、注释、配置文件读取等工作,并调用业务逻辑脚本。业务逻辑脚本使用HQL语言编写HQL语句,类同于SQL。

ETL流程调度方式一般有两种方式:定时启动式、事件触发式。为方便采集流程调度与监控,在Oracle数据库上部署了几张实体表,包括:业务逻辑前置条件配置表、应采集接口配置表、FTP文件检查日志、接口文件稽核日志、接口文件采集日志、SRC层已装载触发ODS流程日志表、ETL执行日志表等。提出一种动态触发式ETL调度流程与算法,改变了以往定时启动的ETL流程调度方式,可有效缩短部分流程的超长等待时间;同时通过并发量的监测和控制,可有效避免资源抢占拥堵现象,从而更有效地提升所有采集流程的整体完成时间。这种事件触发式调度,每个ETL流程都预先配置了自动触发的条件,可能包括n个接口文件、m个依赖流程;如果n个接口采集和m个依赖流程处理完成,则触发该流程。所有流程通过任务集中调度,在适当的时间自动触发运行,经过 ETL加工过程以及数据质量稽核,实现数据自动流动,直至完成全部流程。

动态触发式ETL调度流程如图6所示。

4 双平台效率比较

Hadoop与Oracle优势有互补性,在工程实施过程中,把原先Oracle平台的数据采集存储过程脚本,平行迁移为Hadoop平台的业务逻辑脚本,同时保持双平台并行运行一段时间,采集的数据源完全一样,这为比较两个平台的优势和效率提供了一样的基准。通过对几十万条的运行日志图形化分析,总的来说,Hadoop在大数据量时执行效率要好于Oracle。但在数据量小时,Oracle要好于Hadoop。为了避免超大数对微小数的淹没,采用分段展现方式。

图7是根据两个平台的实际运行日志结果,分段列出了Hadoop平台与Oracle平台的采集效率比较。

图6 动态触发式ETL调度流程

图7 双平台日数据采集(时长)与记录数量关系比较

记录条数小于10万条时,Oracle耗时很短,Oracle效率明显好于Hive。记录条数为10万~100万条时,Oracle效率好于Hive,随记录条数增大,耗时在增大,但Hive的耗时变化不明显。在100万条附近,Oracle与Hive的效率基本持平。记录条数为100万~500万条时,Oracle耗时逐渐超过Hive;Hive的效率开始体现。记录条数为500万~3 500万条时,Hive效率好于Oracle。随记录数增大,Oracle耗时增长快,与Hive效率差距增大。记录条数在3 500万条以上时,Oracle耗时长,Hive效率明显好于Oracle。分析发现,Hadoop平台对海量数据接口的采集效率优化效果明显,对千万条记录以上的日接口大表,Hadoop平台的采集时长相比Oracle平台缩短50%~80%。图8列出双平台对海量数据(千万条以上)采集效率气泡图。

图8 双平台对海量数据(千万条以上)采集效率气泡图

其中“账单流水表”接口(全量记录条数平均72 000万条),采集耗时最长;“流量详单表”数据增幅很大(日增量记录条数平均3 500万条);是原先Oracle平台采集效率的瓶颈。图9是这两个接口的双平台采集效率对比。

其中,账单流水接口,Oracle采集时长平均在110 min,Hadoop采集时长为53 min,效率提升52%;流量详单日采集接口,Oracle采集时长平均在26 min,Hadoop采集时长为9 min,效率提升67%。

但从图9也可看出,对数据量较小的表(尤其是一些代码表)、需要频繁增删改的表、需要多表复杂关联分析等,这些场景不适宜于在Hadoop上管理;相反,这些场景,Oracle可以实现很好的管理。同样Hadoop对海量数据、非结构化数据的处理效率,明显好于Oracle等传统关系型数据库。从成本上考虑,Hadoop比Oracle的优势明显;从易于维护上考虑,Oracle反过来比Hadoop优势明显;同时Oracle的可靠性比Hadoop高。

图9 两个接口的双平台采集效率对比

总的来说,通过Hadoop与Oracle混搭架构以及动态触发式ETL调度流程两大举措,可有效提升数据采集时效性,在实践中取得了比较好的应用效果。

5 结束语

ETL是数据仓库建设中非常重要的环节,本文提出Hadoop与 Oracle混搭解决方案,对电信大数据分层管理,利用Hadoop的并行计算和存储优势,对海量数据、非结构化数据进行采集预处理整合,可有效提升海量数据采集效率。同时提出一种动态触发式ETL调度流程与算法,与定时启动的ETL流程调度方式相比,可有效缩短部分流程的超长等待时间,有效避免资源抢占拥堵现象。在某运营商大数据平台建设的实践过程中,取得了比较好的应用效果,有效确保了公司每天经营分析数据的及时展现,提升了数据服务支撑的时间窗口,提升了公司内外部客户的满意度,对业界也有一定借鉴作用。

[1]许佳捷,郑凯,池明旻,等.轨迹大数据:数据、应用与技术现状[J].通信学报,2015,36(12):97-105.XU J J,ZHENG K,CHI M M,et al.Trajectory big data:data, applications and techniques[J].Journal on Communications, 2015,36(12):97-105.

[2]刘南海,雷蕾,王睿.大数据时代运营商分析支撑域转型的实践与思考[J].电信科学,2016,32(8):146-158.LIU N H,LEI L,WANG R.Practice and thinking on the transition of telecom operator analysis support system in big data era [J].Telecommunications Science,2016,32(8): 146-158.

[3]金澈清,钱卫宁,周敏奇,等.数据管理系统评测基准:从传统数据库到新兴大数据 [J].计算机学报,2015,38(1): 18-34. JIN C Q,QIAN W N,ZHOU M Q,et al.Benchmarking data management systems:from traditional database to emergent big data[J].Chinese Journal of Computers,2015,38(1):18-34.

[4]曾嘉,刘诗凯,袁明轩.电信大数据关键技术挑战[J].大数据, 2016,2(3):96-105. ZENG J,LIU S K,YUAN M X.Key technical challenges in telecom big data[J].Big Data Research,2016,2(3):96-105.

[5]詹义,方媛.基于Spark技术的网络大数据分析平台搭建与应用[J].互联网天地,2016(2):75-78. ZHAN Y,FANG Y.Building and application of network big data analysis platform based on Spark technology[J].China Internet,2016(2):75-78.

[6]刘珂.基于Hadoop平台的大数据迁移与查询方法研究及应用[D].武汉:武汉理工大学,2014. LIU K.Research and application of big data migration and query based on Hadoop platform[D].Wuhan:Wuhan University of Technology,2014.

Research and implementation on acquisition scheme of telecom big data based on Hadoop

WANG Baoyou1,QIAN Jing1,YUAN Shijin2
1.Shanghai Branch of China United Network Communication Co.,Ltd.,Shanghai 200050,China 2.School of Software Engineering,Tongji University,Shanghai 201804,China

ETL is a very important step in the implementation process of data warehouse.A good ETL flow is important,which can effectively process the telecom big data and improve the acquisition efficiency of the operation platform.Firstly,the main data content of the big data platform was expounded.Secondly,in order to improve the efficiency of massive data collection,Hadoop and Oracle mashup solution was suggested.Subsequently,a dynamic triggered ETL scheduling flow and algorithm was proposed.Compared with timer start ETL scheduling method,it could effectively shorten waiting time and avoid the phenomenon of resources to seize and congestion.Finally, according to the running log of Hadoop platform and Oracle database,the relationship between acquisition efficiency and data quantity was analyzed comparatively.Furthermore,practice result shows that the hybrid data structure of the big data platform complement each other and can effectively enhance the timeliness of data collection and access better application effect.

big data,ETL,Hadoop,scheduling process,mashup architecture

TP311

A

10.11959/j.issn.1000-0801.2017010

汪保友(1968-),男,博士,中国联合网络通信有限公司上海市分公司高级工程师,主要研究方向为数据科学、数据挖掘、数据签名。

钱晶(1970-),女,中国联合网络通信有限公司上海市分公司工程师,主要研究方向为数据科学、移动互联网、通信网络规划。

袁时金(1975-),女,博士,同济大学软件学院副教授,主要研究方向为大数据与高性能计算。

2016-12-11;

2017-01-03

猜你喜欢

大数据
大数据环境下基于移动客户端的传统媒体转型思路
基于大数据背景下的智慧城市建设研究
数据+舆情:南方报业创新转型提高服务能力的探索