基于Spark的性能优化及Spark在深度学习的应用研究

来源 :大众科学(周刊) | 被引量 : 0次 | 上传用户:truby
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:随着人工智能和大数据时代的到来,Spark+AI大数据平台快速发展,Spark是当今大数据领域最活跃、最热门、最高效的大数据通用计算平台。到目前为止,Spark是唯一一个将大规模数据处理与最先进的机器学习和人工智能算法相结合的统一分析引擎。本文阐述了Spark大数据技术在中国电信天翼高清IPTV端到端系统中的应用,以Spark大数据平台的性能优化及Spark在深度学习的应用为研究对象,从Spark内存管理、JVM GC性能调优、数据序列化、数据类型优化、Spark缓存优化、数据倾斜调优、Spark算子调优、Spark在深度学习的应用调优进行阐述,并对大数据技术未来的发展进行了展望 。
  关键词: Spark;人工智能;大数据;深度学习;内存优化;Shuffle优化;性能优化
  1 引言
  Spark是当今大数据领域最活跃、最热门、最高效的大数据通用计算平台,Spark诞生于美国加州大学伯克利分校AMP实验室。Apache Spark已经成为大数据领域最大的开源社区,達到250多个组织的1400多个贡献者。在任何规模的数据计算中,Spark在性能和扩展性上都更具优势。近年来,Spark技术在工业界得到广泛应用,中国电信公司基于Spark大数据技术自研构建了天翼高清IPTV端到端系统,基于全国超大规模的实时数据进行大数据分析。本文结合生产业务场景对Spark性能优化进行了实践探索,从Spark内存管理、JVM GC性能调优、数据序列化、数据类型优化、Spark缓存优化、数据倾斜调优、Spark算子调优、Spark在深度学习的调优进行阐述。实践表明,经过一系列的优化措施,提升了Spark集群的计算性能及Spark任务执行速度。
  2  天翼高清IPTV端到端系统案例实践
  Spark大数据技术为天翼高清IPTV端到端系统的稳定运行提供了支撑保障,在天翼高清IPTV端到端系统中,清洗模块、单质量模块、考核模块、多维度计算模块、告警模块等模块均以Spark技术作为核心基石,各模块基于Spark Core 、Spark SQL、Spark Streaming、Spark ML等技术进行了设计与实现。
  在生产实践中经常会面临Spark性能优化的问题,Spark应用程序基于内存进行计算,系统运行性能瓶颈受到集群资源的限制(例如,CPU、网络带宽、内存、存储等)。一个简单的方法是增加Spark的计算资源。
  (1)Spark内存管理。
  Spark的内存包括执行内存、存储内存。执行内存是指在洗牌、关联、排序及聚合中用于计算的内存,存储内存是指在集群中存储内部数据的内存,两者共享一个统一的内存区域,可以配置spark.memory.fraction、spark.memory.storageFraction等参数进行调参。
  (2)JVM GC性能调优。
  当加载的数据及Shuffle读写操作数据量较大时,可能会出现JVM GC的问题。如果出现GC,首先要收集垃圾回收发生的频率和GC所用时间的统计信息,考虑将对象进行序列化缓存,GC优化的效果取决于应用程序和可用内存的多少。在案例实践中要协调平衡Spark执行内存和存储内存的关系、JVM年轻代内存和老年代内存的关系、加载数据总量大小与批处理数据大小的关系。在JVM GC性能调优时,可以采用数据序列化、调整数据类型、数据缓存等方法。
  (3)数据序列化。
  Spark提供了Java序列化、kryo序列化方式,Kryo比Java序列化运行速度更快、更紧凑。在案例实践中采用了Kyro的序列化,将自定义的话单类型注册给Kyro序列化器,并设置默认缓存空间的大小。
  1)调整数据类型。
  Java字符串类型占用内存空间较大,在案例实践中将部分字段的String类型调整为Long类型,减少内存的消耗;加载文件时候筛选业务字段,从70个字段调整为10个字段,减少了内存空间的占用。
  2)使用Spark缓存。
  天翼高清IPTV端到端系统的播放类型包括组播、直播单播、时移、回看、点播、直播
  及点播汇总等各个类型,每次都加载HDFS数据,运行时间较长。使用Spark缓存进行优化,先从HDFS文件系统中加载数据,然后将加载的数据缓存到集群内存中,遍历播放类型时可以直接读取缓存中的数据,计算性能大幅提升。
  3)Spark数据倾斜调优。
  数据倾斜是Spark分布式计算必须面临的问题,也是作大数据分析不能绕开的问题,
  稍微复杂一点的业务,SparK大数据分析都需解决数据倾斜。在天翼高清IPTV端到端系统中,多维度模块(区域播放类型、单节目统计)要按省、地、县统计,将每一条记录汇聚到省、地、县编码,进行reducebykey聚合操作将导致省级编码记录数据倾斜的现象,我们使用随机Key实现双重聚合及从业务层面解决数据倾斜的问题。在第一次聚合时,使用reduceByKey算子进行Key-Value聚合,在区域播放类型、单节目模块将每个区域编码加上随机数前缀打散,组成一个新的Key值,调用reduceByKey操作。第二次聚合时,再去掉每个区域编码的前缀随机数,再调用一次reduceByKey操作,得到按区域统计的全局聚合结果。
  在业务层面,单节目模块包括直播、点播,需根据区域编码、节目编码、播放类型等字段进行聚合计算,直播节目的记录包括省、地、县的记录,点播记录包括省级的记录,如果将直播、点播记录合在一起进行聚合计算,将发生数据倾斜的情况,某一些任务运行特别缓慢,不能进行实时统计分析。
  4)Spark算子调优。
  在天翼高清IPTV端到端系统中,单节目模块月维度的统计原采用collect方法将数据   全部收集到Driver节点写入HDFS及数据库,单节目数据量较大,导致运行时间较长及内存溢出。在案例实践中将foreach算子调整为foreachPartition算子,对每一个分区建立一个连接,按分区写入数据,提升了系统运行性能。
  3 Spark在深度学习的调优
  Pytorch 、Tensorflow深度学习框架是科研界、工业界运用最广泛的人工智能框架,基于Databricks及亚马逊(Amazon)公司的云计算平台,将Spark与Pytorch 、Tensorflow无缝集成,实现基于Spark的数据预处理、单节点、分布式深度学习训练及分布式深度学习预测推理。Spark在深度学习层面可能的一些调优方法,包括:
  深度学习模型本身的性能调优。例如,ResNet-50模型加载预训练模型+微调网络全部参数;或者,冻结输出层以外的所有网络,微调输出层参数。
  分布式深度学习预测中数据输入管道的调优。如果数据输入是瓶颈,可以使用Spark加载数据,转换为Spark DataFrame作为模型的输入,合理设置Spark批处理的记录数,以提升系统吞吐量。
  4 未来展望
  Spark官网即将发布 Apache Spark 3.0版本,新版本將包含许多重要的新特性,包括支持GPU 感知调度、Spark Graph 图增强、PySpark 可用性进一步提升等。FaceBook、谷歌、Amazon等业界最领先的人工智能公司,正在全面的转向深度学习。人工智能学习的核心是深度学习,深度学习是目前商业界最有价值和潜力的,深度学习应用于自动驾驶和演示人工智能武器等,增强学习的核心是实时的与环境进行交互,交互的能力可从环境交互中不断提升自己的能力,增强学习和深度学习的联合体,将使增强学习爆发出终极的潜力,也使深度学习的价值最大化。
  参考文献
  [1]《Spark大数据商业实战三部曲》第二版:清华大学出版社,王家林、段智华.
  [2]《Spark大数据商业实战三部曲》:清华大学出版社,王家林、段智华、夏阳.
  [3]《Spark内核机制解析及性能调优》:机械工业出版社,王家林、段智华.
  [4]《Spark SQL大数据实例开发教程》:机械工业出版社,王家林、段智华.
其他文献
摘要:全球变暖引起的海洋变暖改变了海洋生物的栖息地,迫使它们去寻找熟悉的地方生活。小型渔业公司的利润取决于海洋生物物种的稳定性,因此可能会受到严重干扰。如果不采取有效的措施,这些鱼群将面临巨大的损失,经过分析,我们认为海水温度是未来影响鱼群位置的关键因素。我们分两步建立了海洋水温预测模型。首先,在三维空间中研究北大西洋温度的差异,建立海洋温度场模型。然后,进一步研究北大西洋气温随时间的变化,建立气
期刊
摘要:目前,卷烟市场日趋饱和,要促进卷烟结构梯次化上移,特类市场是潜力点,也是突破口。合理有效地开发特类市场,提升特类市场卷烟消费结构,既是企业面对经济下滑压力的自我突破,又是推动烟草行业高质量发展的必然选择。该项目主要做法是针对卷烟特类市场开发和提升中存在的消费结构低、零售客户盈利水平难以持续提升和消费者需求满足率不高等问题,集中精力于创新观念下的特类终端生态优化,精准定位婚庆和团购市场,运用P
期刊
摘要:介绍一下医用回旋加速器的使用的原因,并通过对医用回旋加速器运行时的辐射的总结和分析,探讨医用回旋加速器运行时对周围环境的影响,了解医用回旋加速器运行时的原理和过程,从而判断它运行时的辐射是否能在安全范围之内,保证周围环境及使用人员的安全。  关键词:医用回旋加速器;环境;辐射;安全;人员  随着社会逐渐发展进步,医用科学技术也不断在革新,PET/CT是一种放射性示踪剂成像技术,将发射正电子的
期刊
摘要:人力资源管理是企业实现自身发展目标的重要手段之一,它能够决定企业内部人力资源是否能被高效利用。与此同时,薪资管理可以说是人力资源管理的有机组成部分,它对人力资源管理的最终成效起着重要的作用。在市场经济发展的今天,企业间的竞争也越来越多的涉及到人力资源的掠夺上,拥有了更多的人才也就代表着企业拥有更多的发展优势,人才作用的实现和价值的发挥能够为企业的长期发展注入动力。因此,为了企业的长远发展就必
期刊
摘要:我国能源供需矛盾日益突出。而在能源消耗中,化石能源占很大一部分。尽管目前来看石油、煤等化石能源在本世纪还能够满足人类的需求,但是资源终有被耗尽的一天。因此,我们必须研究、开发和应用清洁环保的新能源,减少污染,提高能源使用效率,向多能源结构过渡。  关键词:化石能源;新能源;发展前景  1全球能源结构概况  按照英国石油公司BP陈述的展望,2035年前,全部范例的能源消耗均有所增加,此中增加最
期刊
摘要: TRICONIX公司大型透平压缩机组综合控制系统 ITCC (Integrated Turbine&Compressor Control System透平压缩机控制系统)、SIS系统(Safety Instrumented System 安全仪表系统)在我公司500万炼油项目中使用颇多,我们也称ITCC 为MCS系统(Machine Control System 机组控制系统 )。本文主要
期刊
摘要:21世纪以来,我们逐渐步入信息时代。海量数据信息给人们工作生活带来极大便利的同时,也给企业数据分析管理造成很大困难。企业要完成从数据到信息再到利润的转化,依靠人工分析不太现实,必然要依赖智能数据分析系统来实现。基于此,本文主要分析了我国智能数据分析的现状,并阐述了目前智能数据分析中存在的问题,对我国各领域应用智能数据分析系统来说有重要借鉴意义。  关键词:信息;数据分析;现状;对策  1.引
期刊
摘要:空中交通管制员不但可以更有效率的对空中秩序进行管控,还可以将飞行高度及飞行路线等方面的问题进行更高效的解决。因此在空中交通管制员的管制下,不但可以将程序管制所带来的不足进行弥补,它也是空中管制的最基本方式之一。但是它也存在相应的弊端,因为交通管制员大多数是通过单独监控,因此在监控过程中也会受到相应的影响,比如:机型、通信导航监视设备、空域的不同变化情况等,都有可能出现不同程度的差错,因此在管
期刊
摘要:在社会经济、科技高速发展带动下,人民对公共文化的需求也随之不断增加。而对于图书馆来讲,其不仅是公共文化事业开展的重要基础设施,也是群众文化服务的主阵地,给公共文化服务体系的建设、发展带来了直接影响。尤其是面对不同涌现的各类信息知识,怎样将图书馆具有的作用价值充分发挥出来,也要做出深入探究。  关键词;图书馆;公共文化服务体系;作用价值  前言  对于公共文化服务体系的科学构建与创新探索来讲,
期刊
摘要:合成氨在具体生产过程中面临着诸多安全生产危险因素,处理不慎的情况下很容易导致人员财产设备的损伤,对整个合成氨的效益与安全均造成严重损失。本文将针对合成氨的生产工艺流程进行简单分析,针对合成氨生产过程中的各项危险因素进行总结,以期为后续合成氨生产工艺流程的安全管理措施提供经验借鉴。  关键词:合成氨;生产工艺;危险因素  合成氨作为一种在高温、高压条件下使用催化剂对氮与氢进行化学反应并直接合成
期刊