Spark SQL性能提升17.7倍是如何实现的?

  • 时间:
  • 浏览:0
  • 来源:吉林快3平台-极速快3网投平台_极速赛车投注平台

摘要:在互联网运营商等大规模、超大规模用户中,Spark是最受欢迎的大数据系统,Spark对于内存依赖性很强,什么都有当负载提高时,硬件平台的内存挑战就会十分明显,浪潮为国内最大的语音识别服务提供商引入了Intel傲

 摘要:在互联网运营商等大规模、超大规模用户中,Spark是最受欢迎的大数据系统,Spark对于内存依赖性很强,什么都有当负载提高时,硬件平台的内存挑战就会十分明显,浪潮为国内最大的语音识别服务提供商引入了Intel傲腾内存,经过整体优化测试,整体性能提高了17.7倍。

挑战:内存规模限制使 Spark 优势无法充采集挥

Apache Spark是专为大规模数据外理而设计的快速通用的计算引擎,常用来构建大型、低延迟的数据分析应用多线程池池 。Spark有有一一两个主要特点在于,其都都还可以在内存中进行计算,这使得其数据分析时延往往高于其它计算引擎,倘若,服务器内存资源的限制也使得其性能的扩展地处着一定的瓶颈,在超大规模负载中无法充采集挥其利用内存进行计算的性能优势。

某全球领先的语音识别服务提供商是最早将Spark应用到生产环境的团队之一,该公司的语音云通过几千台服务器构成的云计算平台向用户提供多样的、实时语音外理能力,日均服务终端用户超过15亿,日增数据超过200TB。

2014年该公司基于Spark和AI技术构建了DMP大数据平台(用户数据管理平台)。DMP平台的主要功能什么都有 采集、存储、分析和挖掘庞大的用户数据,以实现广告精准投放。

客户业务逻辑形状图

Spark在该公司的大数据平台中主要用于海量用户数据分析,每天支撑稳定运行的Spark SQL统计分析指标和SQL脚本有几千个。倘若在将Spark SQL用于海量用户数据分析的过程中,仍然面临着一点痛点,有有哪些都限制了该公司语音云的数据分析能力。

 Spark的性能不仅受到CPU、内存、网络、磁盘等硬件设备的制约,倘若Spark SQL目前还不支持索引,也严重影响了Spark SQL在进行大规模数据分析时的性能,索引都都还可以提升数据检索的时延,降低硬盘的IO瓶颈;

 随着数据量这么大,即席分析的需求这么强烈,即席查询是用户根据用户自己的需求,灵活选取 查询条件,系统都都还可以根据用户的选取 生成响应的统计报表和结果集;在数据仓库和大数据分析系统中,即席查询使用的太少,对系统的性能要求也就越高,可能内存都都还可以缓存更多的热点数据,都都还可以极大的提升即席查询外理时延并降低响应延迟;

 数据既有随机读的需求(即席查询-Ad-hoc),又有全表扫描的需求(机器学习);机器学习什么都有 通过特定算法从海量的历史数据中学习规律,从而对新的样本进行分析并对未来做出预测,在模型训练的过程中会产生几滴 的后面 结果数据,通常情况汇报下需要将后面 结果数据持久化到文件系统上,可能内存都都还可以缓存更多的后面 结果数据,还可以提升模型训练的时延;

案例分析:浪潮助力语音云分析能力

随着大数据的技术的逐渐性性性性性心智心智成熟 图片 是什么的句子是什么的句子可能数据量的爆发,使得数据分析显得更为重要,互联网用户需要强大的计算性能。作为英特尔的重要战略媒体相互合作伙伴,浪潮为用户针对互联网、IDC(Internet Data Center)、云计算、企业市场以及电信业务应用等需求,基于全新一代英特尔®至强®可扩展外理器设计了一款2U 2路机架服务器NF52200M5服务器。该产品满足更多业务对网络时延、高计算性能、大内存容量的要求,同时对密度和计算性能有较高需求并对存储有一定要求的客户提供了很好的外理方案。

与全新一代英特尔®至强®可扩展外理器CascadeLake同时上市的英特尔®傲腾™ 数据中心级持久内存,可能会很好的外理某种 疑问,傲腾内存的单设备最大容量达到512GB ,远超DRAM 内存的128GB,这使得其还可以将系统内存最大扩展至6TB(不包括系统自身内存)。倘若,傲腾内存的单位容量价格要远低于DRAM 内存,有有哪些形状支持企业在数据中心部署更大、更经济的数据集,在大型内存池中获得新的洞察。

为了外理语音云在Spark SQL数据分析过程中面临的痛点,该公司采用浪潮NF52200M5与傲腾内存,并辅以英特尔OAP软件—优化分析包。OAP旨在为Spark SQL加速Ad-hoc查询。OAP定义了某种 新的类Parquet文件列数据存储格式,还可以在内存以及傲腾内存中以Fiber为单位提供细粒度的分层缓存机制。更重要的,OAP扩展了Spark SQL DDL,允许用户根据关系定义自定义索引。OAP通过将数据缓存到Executor的堆外内存(傲腾内存)中,加速Ad-hoc。

为了验证傲腾内地处该公司语音云数据分析中的使用效果,亲戚亲戚大伙儿在实际的方案部署中,选取 了浪潮52200M5与傲腾内存的强强组合,分别测试基于傲腾内存/ DRAM 内存某种 配置下的性能对比。亲戚亲戚大伙儿部署了5台浪潮NF52200M5服务器,其中1台用于Spark的Master节点,另外4台用于Spark的worker节点,每个worker节点部署4根128GB傲腾内存。部署架构如下:

测试方案架构图

TPC-DS是TPC(事务外理性能委员会)组织发布的一套决策支持系统的性能测试基准,某种 基准用于评估服务器的性能。TPC-DS含高一套零售行业的数据模型,采用星型、雪花型等多维数据模型。含高7张事实表,17张维度表,以及99个标准SQL测试案例,每个测试案例几乎完全都是很高的IO负载可能CPU计算负载,是专门用于评测数据仓库、大数据分析等OLAP系统的基准测试工具之一。该测试集含高了针对大数据集的数据统计、报表生成、联机查询、数据挖掘等繁复的应用,测试数据与真实的商业数据深度类似于 ,还可以说TPC-DS是与真实场景非常接近的性能测试基准数据集。目前TPC-DS可能通过了最大200TB数据集规模的性能基准测试。

倘若亲戚亲戚大伙儿选取 了TPC-DS大数据基准测试工具,采用了3.5TB的测试数据集,并精选了TPC-DS基准测试工具中与该公司业务场景类似于 的9个IO密集型SQL测试案例进行评测。测试中浪潮与Intel的工程师在硬件和软件层面进行了几滴 的优化工作,包括BIOS、操作系统内核、Spark参数的优化;同时Intel工程师针对该公司的实际需求,对OAP软件进行了进一步的优化,以提升Spark在大容量的Parquet文件上创建索引的时延。

两轮测试结果对比图

从上图中亲戚亲戚大伙儿看多有两组结果的对比,着实是在亲戚亲戚大伙儿的测试中进行了两轮测试。第一轮测试模拟DRAM内存和傲腾内存这么缓存任何数据的情况汇报。第二轮测试模拟傲腾内存可能缓存了完全的数据,而DRAM内存可能容量有限只缓存了每段数据的情况汇报。第一轮测试中,可能傲腾内存提供了更大的缓存池,性能有了6倍的提升,在第二轮测试中性能提升更加明显,傲腾内存表现出了17.7X的性能提升(=3452.6/194.28) 。

收益分析:

毫无疑问,在浪潮NF52200M5服务器和傲腾内存的同时作用下,内存分析技术无疑给企业和云服务厂商带来了一系列的优势。首先傲腾内存具有大容量、低成本、和持久性存储的特点,还可以为企业和云服务厂商降低IT成本、繁复基础设施、延长系统和应用的运行时间;同时傲腾内存更靠近CPU,还可以与CPU通过内存通道直接进行数据交互,具有高达6.8GB/s的IO时延和<1us的延时。更重要的是傲腾内存具有超高的随机读写能力,使用傲腾内存用于缓存加速,还可以为企业带来巨大的性能提升,帮助企业更快速地获得实时洞察,从而帮助企业创造新的可能,以推动和增强服务的交付能力。

(本内容属于网络转载,文中涉及图片等内容如有侵权,请联系编辑删除)