3 数据平台
在大数据平台建设方面,科大讯飞以数据导向为理念,以EcoSystem为设计理念,以Hadoop为核心,综合应用相关技术,构建起支撑企业所有业务需求的大数据平台。
3.1 平台架构
科大讯飞的大数据平台有专门的名称——Maple。整个Maple大数据平台承载着公司级的大数据战略,科大讯飞云平台、研究院、平嵌、移动互联和智能电视都通过Maple大数据平台实现数据和技术的共享。另外,面向互联网的相关产品,包括讯飞开放平台、讯飞输入法、灵犀语音助手、酷音铃声,所有的数据均汇集到了Maple大数据平台。图3-1为Maple大数据平台的架构。
图3-1 Maple大数据平台的架构
这一平台分成三个部分:一是基础机群,围绕着Cloudera发行版本CDH来构建的;二是构建了自己的Maple-SDK(SDK为Software Development Kit的缩写,即软件开发工具),是面向开发者提供的开发包;三是Maple-BDWS(BDWS为BigData WorkStation的缩写,即大数据工作站),是整个大数据平台的一个门户。图3-2为大数据平台的架构。
图3-2 大数据平台的架构
如图4-2所示,大数据平台分成三层:最底层为基础层,用于Hadoop的存储与计算及其缓存;中间层为ETL层,实现抽取(Extract)、转换(Transform)和加载(Load)等功能,Flume-ng(是一个分布式、高可用、可靠的系统,将不同的海量数据收集、移动并存储到一个数据存储系统中)和Sqoop(是一个将数据在MySQL、Oracle等关系数据库和Hadoop、Hive、HBase等大数据产品之间导入/导出的有效工具)应用需求;最上层为应用层,主要实现搜索引擎、数据库、语音云以及各类App等应用。左侧是Mapple-SDK,即基于Mapple的软件开发工具包,包括一套数据建模的功能,是基于Avro的MapReduce编程库;右侧是Maple-BDWS,即基于Mapple的大数据工作站,以解决代码托管、在线编译部署、工作流设计以及任务调度等业务需求。
3.2 解决方案
为了更好地整合各类相关的大数据技术,满足企业大数据业务发展需要,科大讯飞为Maple大数据平台提供了完善的解决方案。
3.2.1 Maple-BDWS
Maple-BDWS作为Maple大数据平台的门户,具有的业务功能包括:(1)代码托管;(2)编译部署;(3)工作流设计;(4)任务调度;(5)数据与任务信息浏览。
Maple-BDWS具有的特点包括:(1)多个集群管理;(2)多版本集群兼容;(3)支持多项目管理;(4)在线编译部署(One button to use——一键即用)。
图3-3为Maple-BDWS的工作界面。
图3-3 Maple-BDWS的工作界面
3.2.2 Maple-SDK
Maple-SDK是Maple大数据平台的灵魂,包括以下各个组件:
(1)数据建模(DataSource):适用于大数据的动态、自动建模系统,是实现数据导向理念的基础。
(2)Avro-MapReduce编程库:实现Avro-MapReduce任务开发、数据存储和数据收集等功能。
(3)Flume-ng扩展组件(Flume-ng-ext):以AvroFile为缓存的FileChannelPlus,极大地提升了速度与稳定性;支持Stable的改进版HDFS-Sink;分布式节点监控与智能配置管理服务,解决了Flume-ng配置管理复杂的问题;支持多语言的Loglib。
(4)统计分析(Maple-Report):报表定义与计算引擎分离;同数据源的多维度、多指标一次计算完成;小时、日、周……数据依次复用。
(5)分布式索引(Maple-Index):包括实时日志检索系统,实现了日志收集与日志检索融为一体。