《大数据分析平台建设与应用综述王强.pdf》由会员分享,可在线阅读,更多相关《大数据分析平台建设与应用综述王强.pdf(17页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第 5 卷 第 2 期 2016 年 3 月 集 成 技 术 JOURNAL OF INTEGRATION TECHNOLOGY Vol. 5 No. 2 Mar. 2016 收稿日期:2015-12-23 修回日期:2015-12-27 作者简介:王强,博士后,研究方向为聚类算法和生物信息学;李俊杰,副教授,研究方向为数据挖掘与机器学习;陈小军,博士,研究方向 为数据挖掘与机器学习;黄哲学(通讯作者),特聘教授,研究方向为数据挖掘与机器学习,E-mail:;陈国良,教授,院 士,研究方向为高性能计算。 大数据分析平台建设与应用综述 王 强1 李俊杰1 陈小军1 黄哲学1 陈国良2 1(深圳大
2、学大数据技术与应用研究所 深圳 518060) 2(深圳大学高性能计算研究所 深圳 518060) 摘 要 大数据分析平台是开展大数据处理与分析应用所必需的基础设施。文章基于课题组开展大数 据分析平台建设的科研成果与实践经验,结合大型企业实施行业应用项目的切身感受,从大数据分析 平台设计、主流热点技术、行业应用案例三个方面进行介绍。文章首先分析了大数据分析平台的主要 功能和体系架构,然后介绍了大数据分析平台的关键技术,重点介绍了 Spark 技术的体系架构及核心 组件,最后介绍了大数据技术在大规模制造业、零售业和智能电网三个领域的应用案例。 关键词 大数据平台;大数据分析;大数据应用;内存计算
3、 中图分类号 TP 391.4 文献标志码 A Review on Construction and Application of Big Data Analytical Platform WANG Qiang1 LI Junjie1 CHEN Xiaojun1 HUANG Zhexue1 CHEN Guoliang2 1( Big Data Institute, Shenzhen University, Shenzhen 518060, China ) 2( High Performance Computing Institute, Shenzhen University, Shenzhen
4、 518060, China ) Abstract The big data analytics platform is an indispensable infrastructure for big data processing and applications. Based on our research activities, practical experiences with big data analytics, and lessons learnt from industrial projects, this paper addressed the platform desig
5、n, mainstream technologies, and industrial cases of big data analytics platforms. Firstly, the main functions and architecture of such platforms were analyzed. Then the key enabling technologies were introduced with a focus on the architecture of Spark and its core components. Finally three applicat
6、ion case studies were presented in the areas of massive manufacture, retail, and smart grids. Keywords big data platform; big data analytics; big data application; Spark 王 强,等:大数据分析平台建设与应用综述2 期3 1 引 言 当前,人类社会信息化进程正在迈向网络化 信息技术普及阶段。整个社会的信息采集渠道日 益丰富,信息应用广度不断拓展,信息总量呈指 数级增长,以信息为核心的创新驱动力持续增 强,从而带来全社会信息在类型
7、多样性、关系复 杂性、应用时效性等方面呈现出崭新的趋势和特 征。这种由社会信息环境的变革而引发的社会数 据环境的变革,给信息科学及相关产业发展带来 了巨大的挑战和机遇。 大数据就是为有效应对“网络时代海量复杂 数据带来的管理与应用难题”而产生的一种新的 思维方式、技术体系和创新能力,其特有的战略 意义和核心价值主要表现在以下三个方面: 第一,在战略思维层面,数据已经成为全球 社会公认的创新发展要素,大数据已经从商业领 域上升到国家战略层面。 自 2011 年 6 月麦肯锡公司发布了大数据: 下一个竞争、创新和生产力的前沿领域1的研 究报告,拉开了全球竞相发展大数据的序幕。随 后,美、英、法、澳
8、、日、韩等发达国家,以及 联合国、欧盟、八国集团等国际组织,纷纷提出 国家级或区域性大数据发展战略,旨在提升从大 量复杂数据中获取知识和洞见的能力,进而促进 政府治理效能和经济发展活力的显著提升。我国 自 2012 年起,从中央部委到地方省市,连续密 集地出台了十余个与大数据相关的发展规划和 行动计划,特别是国务院于 2015 年 8 月出台了 促进大数据发展行动纲要2,明确提出了政 府率先开放政务大数据并强化与社会各方形成合 力的相关任务和计划时间表,更加突显我国发展 大数据的意志与决心。 第二,在信息科学与技术创新发展层面,大 数据给传统的信息科学与技术体系带来了全方位 的挑战,大数据科学
9、正在加速形成以数据为核心 的新的理论与技术体系。 大数据所特有的类型多样、混合异构、快速 增长、体量巨大、关系复杂、高维稀疏等特性, 导致传统的来源于多元统计、人工智能、机器学 习、模式识别等领域的数据分析理论,以及以数 据为核心的存储、索引、融合、处理、分析、应 用、安全等全过程技术,亟待实现全面系统的创 新与发展,不断形成和完善大数据科学与技术体 系。同时,从大数据工程技术创新发展的角度, 亟待将大数据相关的理论、技术成果与国际主流 的大数据工程技术框架相结合,针对互联网应用 的智能化和服务化的发展趋势,以及离线分析与 在线分析的应用特点,围绕 Hadoop、Spark(内存 计算)等当前
10、热门主流的大数据工程技术体系, 开展大数据平台开发与产业化应用,是促进大数 据科技发展的另一项必要和紧迫的工作。 第三,在经济社会创新发展层面,大数据是 保障我国“互联网+”和“智慧城市”战略实现 的核心能力,并为推进“双创”战略提供了广阔 的发展空间。 以应用为导向、以应用为引领,是大数据技 术创新与发展的主要特征。当前,我国正在全力 推进“互联网+”和“智慧城市”发展战略,大 数据作为其中必不可少的使能性技术,将在城市 虚拟空间的各种应用场景中发挥着信息整合、知 识挖掘、业务协同、服务创新的作用。其中,大 数据分析与应用平台更是作为大数据时代必备的 基础设施:通过不断汇聚技术创新成果,为应
11、用 创新提供一站式共性基础服务,有效降低应用 技术门槛,支持创业公司和创客群体在平台上开 展不同领域、不同层次、不同环节的应用服务创 新,加速形成以平台为核心的产业创新生态圈和产 品化应用解决方案,促进大数据产业加快形成。 大数据时代,我国拥有得天独厚的发展优 势。一方面,在政府大力倡导和全社会积极努力 下,大数据已经成为全社会的共识,大数据所 集 成 技 术 2016 年 4 蕴含的经济价值和创新价值已经引起社会各界的 高度关注。另一方面,我国拥有海量丰富的数据 资源,广阔多样的应用场景,潜力巨大的消费市 场,为大数据创新与发展提供了必要条件。当务 之急是如何快速有效突破数据价值挖掘的瓶颈。
12、 大数据分析与应用平台,是大数据时代必备的基 础设施,也是突破当前技术瓶颈的有效突破口。 开发和建设大数据分析与应用平台将带来三个方 面的价值:(1)有助于不断汇集大数据技术创新 成果,并用最先进的技术为用户提供一站式的应 用服务;(2)有助于降低用户技术门槛,为应用 开发提供共性基础设施与服务,从而加快应用创 新;(3)有助于形成大数据技术产品和行业解决 方案,促进我国大数据产业加快形成。 本文基于深圳大学大数据技术与应用研究所 大数据分析平台课题组(以下简称“课题组”)近 年来开发和建设大数据分析与应用平台的科研 成果和实践经验3,4,同时结合课题组在人才培 养、科学研究、社会服务等方面的
13、实际感受,首 先介绍了大数据平台的总体功能、体系架构及其 关键技术;其次,针对当前大数据领域的前沿热 点技术,重点介绍了 Spark 技术架构及其核心模 块;最后,介绍了课题组已经完成的在大规模制 造业、零售业和智能电网三个领域的大数据应用 案例,以期为学术界和产业界提供具有一定参考 借鉴价值。 2 大数据分析平台 2.1 大数据分析平台发展现状 大数据分析平台是建设和实施大数据应用所 必需的基础设施,也是目前国际产业界竞相发展 的前沿和热点领域。从目前全球发展现状来看, 大数据分析平台建设与应用的主要力量来自于传 统信息技术(Information Technology,IT)企业、 新兴互
14、联网企业、高校科研院所三大阵营,以下 对其发展情况和代表成果进行概括总结。 2.1.1 传统信息技术巨头的大数据平台战略 该阵营以 IBM、ORACLE、SAP、EMC、 Teradata 等传统 IT 巨头为代表,凭借长期积累的 技术、产品、品牌、服务等全球领先的综合实力 为基础,通过“硬件+软件+数据”整体解决方案 向用户提供以平台为核心的完备的大数据基础架 构与服务,同时通过密集地并购大数据分析创新 型企业,以迅速增强和扩展在大数据分析领域的 实力和市场份额。 国际 IT 巨头的大数据平台战略实施案例 包括: (1)IBM 企业并购:收购了商务智能软件供应商 Congnos5、统计分析软
15、件 SPSS6、数据库分析 供应商 Netezza7; 大数据管理:结合 IBM DB2 数据库,推出 了支持 Apache Hadoop 的 InfoSphereBigInsights8 软件,支持大数据应用开发与实施; 大数据一体机:发布了大数据一体机 Pure Data9,作为大数据领域的软硬件一体化解决 方案。 (2)ORACLE 大数据一体机:该一体机集成了 Oracle Exalogic10中间件云服务器、Oracle Exadata11数 据库云服务器和 Oracle Exalytics12商务智能云服 务器,成为 ORACLE 企业级大数据解决方案。 (3)HP 企业并购:通过
16、收购 Vertica 公司,推出针对 大数据的 Vertica 6.113数据分析平台,平台覆盖 了非结构化大数据存储管理、处理分析、服务交 付等全过程,成为企业级大数据应用的完整解决 方案。 (4)EMC 大数据一体机:对原有的 EMC 硬件和 Greenplum 软件进行整合,推出了 Greenplum 一 王 强,等:大数据分析平台建设与应用综述2 期5 体机产品14,平台适用于大数据分析场景,可以 通过增加节点方式进行横向扩展,从而有效控制 成本和性能。 整体平台解决方案厂商依靠自身原有的软 件、硬件或技术优势,通过收购及整合不同公司 的产品线,实现对大数据各个领域的覆盖。但是 这种增
17、量式的系统整合,只是使系统功能的体量 增加。只有通过对自身产品和技术的原始创新, 才能实现对大数据处理问题的彻底解决。 2.1.2 新兴互联网巨头的大数据平台战略 该阵营以 Google、Amazon、Facebook、阿 里巴巴、百度、腾讯等互联网公司为代表,基于 自身的应用平台、庞大用户群和海量用户信息, 形成独有的互联网大数据应用生态圈,不断创新 应用和商业模式,不断创造新价值。 (1)Google Google 提出的 GFS、MapReduce 和 BigTable 等大数据核心技术,催生了大数据处 理的事实标准 Hadoop。目前,Google 通过自身 开发的 Caffeine1
18、5平台,直接将索引放置在由 Google 开发的分布式数据库 BigTable 上; Google 还提供大数据虚拟服务器业务,用 户可以把数据上传到 Google,Google 提供了包 括 BigQuery16和 Google Compute Engine17等服 务和基础设施运行用户的查询服务。 (2)Amazon Amazon 弹性 MapReduce (Amazon Elastic MapReduce)18,是一项能够迅速扩展的 Web 服 务,运行在亚马逊弹性计算云(Amazon EC2)和 亚马逊简单存储服务(Amazon S3)上,用于满足 数据密集型任务(如互联网索引、数据挖
19、掘、日 志文件分析、机器学习、金融分析、科学模拟和 生物信息学研究),平台将根据用户需要立即配 置和满足资源需求。 (3)Facebook Corona(日冕)平台19,可以让你在数目庞 大的 Hadoop 服务器之间运行大量的任务,并且 不用担心软件错误会导致整个服务器集群崩溃; Prism(三棱镜)20平台,可以自动复制数 据,并在不同地点的服务器之间传输数据。这可 以让 Hadoop 服务器集群运行在全球范围内的多 个数据中心上,实现集群规模的灵活扩展。 (4)阿里巴巴、百度、腾讯 早在 2011 年,阿里巴巴就已经推出了 “淘宝指数”21,商家可以根据以往的销售信息 和“淘宝指数”进行
20、生产、库存决策,同时,消 费者也能以更优惠的价格购买商品; 百度正开展大数据革命以应对企业时代需 求,其已从数据、工具及应用三个层面布局大数 据时代企业战略规划,为用户更深入地挖掘数据 价值,优化营销决策; 腾讯主要通过深入挖掘用户属性,培育社 会化营销平台,利用大数据和关系链,为用户筛 选、推荐最适合他的内容。 互联网公司在大数据领域的创新主要是基于 自身的数据和业务需求,主要集中在搜索、个 性化推荐和存储、计算等方面。但是对于“人、 机、物”三元融合技术产生的多样化海量复杂数 据,仍然需要新的分析平台及处理技术。 2.1.3 科研领域的大数据平台发展状况 国际顶级期刊Nature和Scie
21、nces近 期针对大数据分别出版了专刊Big Data22和 Dealing with Data23,从互联网技术、互联 网经济学、超级计算、环境科学、生物医药等多 个方面讨论了大数据处理面临的各种问题。 在国内,中国计算机学会(China Computer Federation,CCF)成立了大数据专家委员会(CCF Big Data Task Force,简称 CCF TFBD)。2012 年 10 月 19 日,中国计算机学会大数据专家委员会 成立,通过竞选产生了以李国杰院士为主任的 专家委员会的第一任领导班子。2012 年 11 月 30 日12 月 1 日,中国 Hadoop 与大数
22、据技术大会 集 成 技 术 2016 年 6 (HBTC 2012)在北京成功举办。大会以“大数据 共享与开放技术”为主题,讨论了大数据共享平 台与应用、大数据的技术挑战与发展趋势。 目前,国际学术界研发的大数据平台的代表 成果包括: (1)Petuum 大数据分布式机器学习平台24: 平台由美国卡耐基梅隆大学(CMU)邢波教授课 题组针对大数据机器学习特点研发,是一个分布 式机器学习框架,提供了面向超大型机器学习的 通用算法和系统接口。包含数据和模型并行两套 功能,平台的参数服务器为开发者提供良好的编 程环境,通过共享虚拟分布内存,在编程的时候 不用对每个机器进行单独通讯;平台的调度器能 够
23、对模型进行有效的分割,甚至是动态分割,然 后进行任务的分布化和载量平衡。 (2)PDMiner 基于云计算的数据挖掘软件平 台25:平台由中国科学院计算技术研究所与中国 移动合作开发,集成了 ETL 组件、数据挖掘组件 以及多种算法,可有效解决多种云计算数据挖掘 问题。平台的挖掘效率随节点增加而增加,多个 任务工作流之间互不干扰,不同节点间可同时启 动,具有容错能力,架构具有开放性,算法可方 便地配置加载到平台上,达到了商用软件精度, 成为中国移动 数据挖掘分析支撑工具。 (3)CLAIMS 并行数据分析系统26:系统由 华中师范大学数据科学与工程研究院研发,提供 了一个基于内存(in-mem
24、ory)的并行数据库系统 框架,可运行在服务器集群中,提供面向关系型 数据的实时数据分析。 (4)深圳大学大数据分析平台:平台由深圳 大学大数据技术与应用研究所研发,也是本文主 要介绍内容,详见后文。 2.2 大数据分析平台的总体功能 课题组构建的大数据分析平台的主要目标是 为大数据技术研发和应用项目实施提供高效完备 的开发与运行环境。为此,大数据分析平台的总 体功能包括以下主要方面: (1)云计算环境:整个平台基于云计算环 境,主要包括:云存储、云资源调度与管理、云 计算编程模型、云计算执行引擎等核心功能,支 持对海量数据的存储、处理、建模、分析、展现 等全过程的分布式并行化开发与运行; (
25、2)面向 SaaS 服务的开放式体系架构:整个 平台采用开放式体系架构,支持插件式开发与集 成,提供底层核心功能的 API 调用接口,为第三 方开发提供高可扩展的平台环境,基于平台开发 的应用可以 SaaS 服务形式提供给用户使用; (3)多源异构数据集成:平台提供丰富的数 据集成接口,支持与传统的关系型数据库产品以 及互联网、物联网应用系统的数据采集接口的无 缝集成,便于将多源异构数据导入到平台数据存 储系统; (4)海量数据云存储管理:提供 PB 级结构化 和非结构化数据云存储与管理,支持高效的数据 查询、索引、提取等基本数据集操作; (5)高效数据 ETL 处理:提供分布式并行的 ETL
26、 处理工具,全面支持数据质量问题处理; (6)基于 WEB 的分析建模:提供基于 WEB 方式和基于工作流的数据挖掘建模系统,便于建 模分析人员随时随地在线编辑和提交分析模型; (7)离线分析与在线分析:提供以 Hadoop 为 基础的离线分析环境和以 Spark 为基础的在线分 析环境,满足不同应用场景下对数据分析响应效 率的需求; (8)知识库:平台提供算法库、模型库与案 例库,支持用户将数据挖掘算法、分析模型及 应用案例进行编辑和重用,不断积累成为用户 知识库; (9)可视化报表系统:平台提供可视化分析 与报表系统,用户通过可视化分析工具、可视 化引擎、报表模板等功能开展交互式可视化数
27、据分析。 王 强,等:大数据分析平台建设与应用综述2 期7 集成了上述核心功能的大数据分析平台,一 方面可以有效支持科研工作者开展算法研究、模 型设计、系统优化等探索性研发工作,并快速将 研发成果集成到平台中,不断提升平台的技术先 进性;另一方面可以有效支持企业级大数据应用 系统的运营,以及第三方应用开发与扩展,促进 行业应用解决方案不断成熟与完善。 2.3 大数据分析平台的体系架构 大数据分析平台的设计理念是以区域性智能 数据中心和高速互联网为基础设施,以互联网服 务体系为架构,以大规模海量数据存储、处理、 挖掘和可视化分析等关键技术为支撑,通过多样 化智能终端及互联网为用户提供数据存储、管
28、理 及分析服务。 大数据分析平台的拓扑架构如图 1 所示。区 域智能数据中心提供基于云计算的大规模数据存 储及数据挖掘平台,通过平台服务器对外接口提 供数据存储、分析与挖掘服务。用户使用 Web 浏 览器或智能终端应用程序提出数据存储和分析的 服务请求,经 Web 服务器通过互联网将服务请求 发送给数据中心平台服务器,平台服务器对服务 请求进行解析,发送给工作流引擎调度执行,执 行结果通过互联网发送给用户终端。 图 1 大数据分析平台体系架构 Fig. 1 Architecture of big data analytical platform 2.4 大数据分析平台的关键技术 本文提出的大数
29、据分析平台主要包括以下关 键技术: (1)平台层 大数据分布式存储系统:针对数据不断增 长的挑战,需要研究大规模、非结构化数据的存 储问题,突破大数据的存储、管理和高效访问关 键技术,当前需要构建至少 PB 级存储能力的大 数据平台才能满足一般的科研和应用需求; 分布式数据挖掘运行时系统:针对大数据 挖掘算法运行的挑战,突破 MapReduce 技术的 局限,研究有效支持迭代、递归、层次及集成机 制的海量数据挖掘编程模型和运行时系统,构建 大数据运行时系统; 智能数据中心联合调度技术:针对大数据 存储和挖掘的挑战,研究多数据中心的智能联合 调度、负载均衡技术,整合多个数据中心的存储 和计算资源
30、,构建基于多智能中心的大数据服务 平台。 (2)功能层 高可扩展性大数据挖掘算法:针对大数据 挖掘的挑战,研究基于云计算的分布式大数据处 理与挖掘算法,构建高可扩展的大数据处理与挖 掘算法库,实现 TB 级数据的建模能力; 大数据安全与隐私保护技术:针对数据挖 掘“软件即服务”(SaaS)模式的需求,研究开发 数据挖掘在云环境下的隐私保护、数据审计和节 点数据挖掘技术,确保大数据挖掘过程中的数据 安全,保证用户的隐私不被泄露; 分布式工作流引擎:针对大数据挖掘分布 式调度的挑战,研究基于云计算的分布式工作流 调度、负载均衡技术,构建高效分布式工作流执 行引擎; 交互式可视化分析技术:针对传统分
31、析方 法交互性和可理解性不足的问题,研究启发式、 人机交互、可视化数据挖掘新技术,实现大数据 挖掘的高度人机交互功能。 (3)服务层 基于 Web 的大数据挖掘技术:突破传统 的基于单机软件的数据挖掘技术,创新基于 Web 的大数据挖掘方法和流程,实现易于使用的基于 集 成 技 术 2016 年 8 NAS ? Hadoop ? Internet ? ? ? ? 350 TB ? NAS ? ? FC?FCoE?iSCSI? InfiniBand?NFS?CIFS? HTTP?FTP ? 50 ? RH2288 ? CPU ?800 ? ?6.4 TB ?600 TB IP ?172.31.2
32、38.101-150 Hadoop ? ? 2 ? Dell ? CPU ?32 ? ?256 GB ?24 TB 10 ? RH2288 ? CPU ?160 ? ?1.28 TB ?120 TB IP ?172.31.238.151-160 2 ? RH2288 ? CPU ?32 ? ?256 GB ?24 TB GPU ?Nvidia K2*8 ? Web 的大数据挖掘技术,构建基于 Web 的大数 据分析环境; 基于 Open API 的大数据挖掘技术:突 破传统的基于软件的数据挖掘技术,创新基于 Open API 的大数据挖掘方法,研究大数据挖掘开 放接口、开放流程,构建基于 Op
33、en AIP 的大数 据分析模式。 为广大用户提供大数据处理和分析的服务功 能,大数据分析平台要突破传统的基于软件和高 端服务器的数据挖掘传统技术体系,采用基于云 计算的大数据存储和处理架构、分布式数据挖掘 算法和基于互联网的大数据存储、处理和挖掘服 务模式。实现这一目标需要做如下创新: (1)系统架构创新:突破传统的基于软件和高 端服务器的数据挖掘技术体系,研发基于互联网和 云计算的大数据存储、处理和挖掘的数据中心系统 架构,支持多用户、多任务的大数据分析环境; (2)服务模式创新:突破传统的一次性软件 销售或软件租赁的高价格解决方案,创新基于互 联网的大数据存储、处理和分析服务模式,为用户
34、 提供按需、廉价的大数据存储、处理和分析服务; (3)使用模式创新:突破传统的使用单机软 件的方式,创新基于互联网的大数据存储、管理 和分析服务,提供多终端(台式机、笔记本、平 板电脑、手机等)、多途径(浏览器访问、Open API 调用等)的用户使用模式。 2.5 大数据分析平台的实践案例 根据大数据分析平台的总体功能要求(详见 2.1),课题组自主搭建了大数据分析平台,平台 的硬件拓扑结构如图 2 所示。 (1)平台的核心硬件资源配置包括: 存储资源:2 台一体化 NAS 存储设备,数 图 2 大数据分析平台拓扑结构 Fig.2 Topology of big data analytica
35、l platform 王 强,等:大数据分析平台建设与应用综述2 期9 据存储总量 350 TB; 计算资源:60 台 RH2288 服务器,CPU 内核共计 960 核,内存累积近 8 TB,硬盘存储总 量超过 700 TB; 网络资源:华为交换机,防火墙。 (2)平台的核心软件资源配置包括: 操作系统:Ubuntu 14.04; Hadoop 管理软件:Cloudera 5.3; 数据可视化软件:Tableau 9.0; 报表系统:Fine Report; 数据挖掘软件:Matlab,R。 为有效保障技术研发测试和应用系统运行两 种场景的不同需求,大数据平台的拓扑结构从逻 辑上划分为两大集
36、群,即:基于 Hadoop 的开发 测试集群和基于 Hadoop 的生产运营集群。 3 Spark 技术 Spark 是当前大数据技术的重要组成部分, 近年来日益引起国际学术界的重视27-30。本节介 绍了 Saprk平台的基本概念及关键技术。 3.1 Spark 简介 传统的 Hadoop 平台由于频繁的磁盘读写操 作导致其不适合处理迭代式计算任务,同时也不 适合处理对时间要求高的计算任务。为此,加州 大学 Berkeley 分校研发了新一代大数据处理平台 Spark。针对迭代任务的需求,Spark 可以将数据 存储在内存中以避免频繁的磁盘读写,从而提高 了计算效率。Spark 主要由 Sc
37、ala 编写,支持通过 Java、Scala、Python 及 R 来使用,官方测试表明 其速度可以比 Hadoop 快 10100 倍(详见 http:/ spark.apache.org/)。 Spark 的主要特点包括: (1)提供 Cache 机制来支持需要反复迭代计 算或者多次数据共享,减少数据读取的 IO 开销; (2)提供了一套支持 DAG 图的分布式并行计 算的编程框架,减少多次计算之间中间结果写到 Hdfs 的开销; (3)使用多线程池模型减少 task 启动开稍, shuffl e 过程中避免不必要的 sort 操作并减少磁盘 IO 操作。 3.2 BDAS BDAS 的全
38、称为 Berkeley Data Analysis Stack,是加州大学 Berkeley 分校将基于 Spark 的 整个大数据生态系统称为伯克利数据分析栈。 BDAS 的体系架构如图 3 所示,其核心框架是 图 3 伯克利数据分析栈逻辑结构 Fig. 3 Logical architecture of Berkeley data analysis stack In-house Apps Access and Interfaces Processing Engine Storage Resource Virtualization Hadoop Yarn AMPL DevelopedSpar
39、k Community3rd PartyIn Development HDFS, S3, Ceph Tachyon Mesos Succinct Spark Core MLlib MLPipelines Velox MLBase SplashGraphXSparkR SparkSQL BlinkDB Spark Streaming Sample Clean Cancer GenomicsEnergy DebuggingSmart Buildings G-OLA 集 成 技 术 2016 年 10 Spark,同时主要包含以下基于 Spark 的大数据处 理系统: (1)Mesos:Mesos
40、是一个资源管理框架,提 供类似于 YARN 的功能。用户可以在其中插件式 地运行 Spark、MapReduce、Tez 等计算框架的任 务。Mesos 会对资源和任务进行隔离,并实现高 效的资源任务调度。 (2)Tachyon:Tachyon 是一个分布式内存文 件系统,可以理解为内存中的 HDFS。为了提供 更高的性能,将数据存储剥离 Java Heap。用户 可以基于 Tachyon 实现 RDD 或者文件的跨应用 共享,并提供高容错机制,保证数据的可靠性。 (3)Succinct:Succinct 支持对压缩数据不进 行解压缩而直接进行搜索、范围查询及随机访问。 (4)Spark SQ
41、L:Spark SQL 提供在大数据 上的 SQL 查询功能,用户可以在 Spark 上直接 书写标准 SQL 语句进行查询。Spark SQL 使用 Catalyst 做查询解析和优化器,并在底层使用 Spark 作为执行引擎实现 SQL 的 Operator。 (5)Spark Streaming:Spark Streaming 通过 将流数据按指定时间片累积为 RDD,然后将每 个 RDD 进行批处理,进而实现大规模的流数据 处理。其吞吐量能够超越现有主流流处理框架 Storm,并提供丰富的 API 用于流数据计算。 (6)GraphX:GraphX 基于 BSP 模型,在 Spark
42、之上封装类似 Pregel 的接口,进行大规模 同步全局的图计算。 (7)BlinkDB:BlinkDB 是一个用于在海量数 据上进行交互式 SQL 的近似查询引擎。它允许 用户通过在查询准确性和查询响应时间之间做出 权衡,完成近似查询。其数据的精度被控制在允 许的误差范围内。 (8)SparkR:SparkR 是一个 R 语言包提供 了一个轻量级的前端,用于从 R 语言中使用 Apache Spark。SparkR 通过 RDD 类暴露 Spark API,允许用户以交互方式在集群上从 R shell 运 行 Spark 任务。 (9)Splash:Splash 是一个用于在多核集群上 对随
43、机程序进行并行执行的通用框架。 (10)MLbase:MLbase 是一个基于 Spark 的 通用分布式机器学习库,由三个主要的部件组 成:MLlib、MLI 和 ML Optimizer。MLbase 提供 了不同抽象程度的接口,用户可以扩充自己的算 法。同时,MLbase 很容易上手,不同基础的用户 都可以额很方便地使用它来对大数据进行分析。 3.3 弹性分布数据集 弹性分布数据集(Resilient Distributed Datase,RDD)是 Spark 对数据的一个基本抽象, 是对分布式内存的抽象使用,实现了以操作本 地集合的方式来操作分布式数据集的抽象实现。 RDD 可以 c
44、ache 到内存中,每次对 RDD 数据集 的操作之后的结果,都可以存放到内存中,下一 个操作可以直接从内存中输入,省去了 Hadoop 执行迭代计算需要的大量磁盘 IO 操作。这对于 迭代运算比较常见的机器学习算法、交互式数据 挖掘来说,效率提升很大。 RDD 主要具有如下特点: (1)它是在集群节点上的不可变的、已分区 的集合对象; (2)通过并行转换的方式来创建(如 map、 fi lter、join 等); (3)失败自动重建; (4)可以控制存储级别(内存、磁盘等)来进 行重用; (5)必须是可序列化的; (6)是静态类型的。 RDD 有两种计算方式:转换(Transforma- t
45、ions)及动作(Actions)。二者的区别是,转换的 返回值还是一个 RDD,而动作的返回值不是一 个 RDD。转换主要包括 map、filter、groupBy 及 join 等。Transformations 操作不是马上执行 的,Spark 在遇到 Transformations 操作时只会记 王 强,等:大数据分析平台建设与应用综述2 期11 录需要这样的操作,并不会去执行,需要等到有 Actions 操作的时候才会真正启动计算过程进行 计算。动作主要包括 count、collect 及 save 等, 将返回结果或把 RDD 数据写到存储系统中。 3.4 MLbase MLbas
46、e 主要包括三个组件: (1)ML Optimizer:自动调度机器学习任务的 执行,能解决特征选择及机器学习任务的优化搜 索问题。这个模块当前还在开发中。 (2)MLI:一个高度抽象的机器学习编程抽 象接口,可用于开发自己的特征提取及机器学习 算法。 (3)MLlib:包含已有的基于 Spark 的机器学 习算法。 给定一个机器学习任务,MLbase 中的 ML Optimizer 会选择它认为最适合的已经在内部实 现好了的机器学习算法和相关参数,来处理用户 输入的数据,并返回模型或别的帮助分析的结 果。这样,不了解 ML 的用户也能使用 MLbase 这个工具来处理自己的数据。用户可以容易
47、地使 用 MLbase 这个工具来处理自己的数据。 Spark 将机器学习算法都分成了两个模块: (a)训练模块:通过训练样本输出模型参数;(b) 预测模块:利用模型参数初始化,预测测试样 本,输出与测值。 MLbase 提供了函数式编程语言 Scala,利 用 MLlib 可以很方便地实现机器学习的常用算 法。比如:如果要做分类,只需要写如下 Scala 代码: 其中,X 是需要分类的数据集;Y 是从这个数据 集里取的一个分类标签;doClassify()是执行分 类操作。 4 应用案例 4.1 制造业大数据产品制造质量监测预警 平台 4.1.1 应用需求与特点 2015 年 5 月,国务院
48、出台了中国制造 2025发展规划。在这份被誉为中国版“工业 4.0”的规划中,明确提出了“推进信息化与工 业化深度融合”、“加强质量品牌建设”等重点 建设任务和发展目标。在此背景下,课题组受我 国领先的通信设备制造商委托,针对海量产品生 产测试数据,开展大数据分析建模和预警算法的 探索性研究,构建面向产品制造质量监测预警的 大数据应用平台,促进项目委托方及时、精准地 发现制造质量隐患,提升产品制造质量的监控预 警能力。 目前,项目委托方的部分产品采用 JDM (Join Design Manufacture)和 ODM(Outsouce Design Manufacture)的生产模式,由多家代工工厂生产相 关产品。为保证产品来料质量、生产过程工艺质 量、批次产品良品率,避免因批量产品质量问题 而发生召回事件,项目委托方通过在代工工厂安 装测量监测设备,对制造过程的相关质量因素进 行实时检测(所采集的数据规模如图 4 所示),并 将相关测量数据返回到项目委托方的数据中心。 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 图 4 产品造质量测试数据规模 Fig. 4 Data scale level of product quality testing data 本