智慧城市大数据集成引擎方案

发布时间:2018-03-08 作者:吕燕,梁平(中兴通讯) 阅读量:

智慧城市建设对数据集成提出需求

  随着信息技术的发展,城市治理正逐渐迈入智慧时代。为打造智慧城市,各地政府联合企业,运用信息和通信技术手段感测、整合、分析城市运行核心系统的各项关键信息,从而对包括民生、环保、公共安全、城市服务、工商业活动在内的各种需求做出智能响应,实现城市智慧式管理和运行,进而为城市中的人创造更美好的生活,促进城市的和谐、可持续成长。

 

  智慧城市建设的首要工作是打破部门壁垒,连接信息孤岛,实现数据的集成。数据集成作为打通不同数据源的桥梁,依托元数据信息,以全量或者增量的形式将数据整合到数据仓库。

  智慧城市建设对数据集成能力提出以下要求:

  ●    能够适配各类数据源,采集各类数据源的数据,包括不局限于RDM、HADOOP、File、WebService等;

  ●    能够转换、加工处理数据,包括不局限于计算、字符串函数、连接、过滤、分拆、合并;

  ●    具有数据清洗能力,包括不局限于去重、值映射、数据正则过滤、合法值过滤;

  ●    具有大数据处理能力,数据处理能力可水平扩展;

  ●     具有离线数据和实时数据处理能力。

技术选择及分析

  常用的数据集成技术包括内存式计算的数据集成,如Kettle和分布式的基于Spark API计算的大数据集成。

  基于Kettle的数据集成引擎,提供可视化编排数据处理流程,能够打通多样数据源,具备丰富的数据加工处理能力和大数据组件适配能力。Kettle的缺点是在大数据、分布式计算方面显得不够灵活,主要体现在两点:其一是集群式作业编排技术门槛高,有些数据加工组件不支持集群式;其二是大数据组件的使用前提是大数据平台上的计算代码需要人工预先编写编译,难度大,工作量大。

  基于Spark API的数据集成引擎,可编写出高性能、灵活的数据处理流程,但流程定制化程度高,难以抽取通用的作业模型。

  为了实现支持适配多样、异构的数据源,具备丰富的数据转换加工能力,具备可视化、API数据处理流程建模能力,具备可扩展能力和具备高性能的数据计算处理能力的大数据集成引擎,中兴通讯IPEG(International Plus Enterprise&Government)平台作为智慧城市运营中心UOC(Urban Operation Centre)的核心数据服务平台,基于Apache Beam技术,为智慧城市开发提供了一套统一的大数据集成引擎解决方案。

  IPEG平台的大数据集成引擎方案给客户带来以下价值:

  ●    适配多样、异构数据源,帮助客户打通数据孤岛,实现信息资源的集中;

  ●    基于大数据平台,帮助客户建立可扩展、分布式的大数据存储环境;

  ●    提供丰富的数据加工组件箱,满足客户清洗、加工处理数据的要求;

  ●    规范化、可视化的数据抽取过程定义,降低用户设计数据处理的难度;

  ●    通过大数据分布式计算平台,快速响应大数据量的分析处理请求。

  Apache Beam是大数据处理领域内的开源框架,它提供一套统一的批处理和流处理的编程范式,为无限、乱序、分布的数据处理提供简单灵活、功能丰富,以及表达能力强大的SDK。Apache Beam优势包括:支持分布式计算引擎;简单,能够在Java中提供统一的数据处理管道开发;丰富的数据处理的编程范式和接口定义。

中兴通讯IPEG大数据集成引擎方案

  中兴通讯IPEG大数据集成引擎方案系统架构如图1所示。

 


  大数据集成引擎架构自下而上分为:

  ●    组件库:基于Apache Beam SDK设计,实现简单灵活、功能丰富、表达能力强的各类组件;

  ●    流程建模:统一批处理和流处理作业模型,提供可视化流程建模和API流程建模功能;

  ●    作业引擎:作业管理,负责管理作业的新增、修改、删除和查询,管理作业的执行策略;作业调度,提供Spark Standalone模式调度和基于

  Livy的Yarn模式调度;作业监控,提供大数据作业运行时的状态监控和日志监控功能;作业执行,解析作业模型,在分布式Spark计算平台上执行大数据作业。

  大数据集成作业的流程分为3个步骤:

  ●     作业编排

  Web界面拖拽编制大数据作业,或者使用JaVa API编制大数据作业,输出XML格式的大数据作业。

  ●     作业调度

  系统向Spark调度/Livy调度发送作业执行REST请求,Spark调度/Livy调度将大数据作业分发到Spark平台。

  ●     作业执行

  系统解析大数据作业XML文件,创建管道对象,系统将管道对象分发到Spark集群中,根据作业流程步骤和要求,管道对象从数据源读取数据,加工数据,最后输出到数据仓库。

  一个大数据作业由若干转换组成,一个转换由若干步骤组成,各类组件扩展实现步骤接口,作业模型设计原则如下:

  ●    基于Beam数据源设计各类输入组件,从各类数据源读取数据;

  ●    基于Beam Sink设计各类输出组件,将数据存储到各种存储介质上;

  ●    基于Beam Transform转换设计各类数据加工、清洗组件;

  ●    基于Beam PCollection设计管道内流转的分布式数据集;

  ●    组件与组件元数据设计分离,组件元数据配置可视化,组件元数据XML持久化;

  ●    作业与作业元数据设计分离,在组件基础上实现作业的可视化配置和XML持久化。

实施成果及开源思路

  开源发布的Apache Beam框架版本仍存在一些缺陷,为此我们做了部分优化改造,如升级Spark版本、降低第三方包版本、增加分区表的读写等。IPEG大数据集成引擎通过了严格的系统性能测试,拥有完善的作业管理、可视化/API数据处理流程编排、多样化数据输入输出和丰富的数据加工功能。基于Apache Beam的大数据集成引擎具备开源特性,大数据集成引擎可以作为所有数据集成、分析处理的能力支撑。有大数据处理业务需求的应用均可以基于大数据集成引擎设计处理流程、调度作业和监控作业,并且应用可以自行定制可视化内容。

  大数据集成引擎为数据治理产品提供了服务支撑,包括数据质量管理、数据静态脱敏、基于大数据集成引擎API的作业管理(作业编排、作业调度和作业监控)。大数据集成引擎已在多个智慧城市项目中完成实际开通验证,并通过了功能和性能入网测试。

  中兴通讯IPEG平台通过大数据集成引擎的开源共享,将进一步推动大数据集成引擎技术的发展演进。