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

  • 时间:
  • 浏览:2
  • 来源:湖北快3_湖北快3网投平台_湖北快3投注平台_湖北快3娱乐平台

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

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

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

Apache Spark是专为大规模数据外理而设计的快速通用的计算引擎,常用来构建大型、低延迟的数据分析应用tcp连接。Spark有两个主要特点在于,其要能在内存中进行计算,这使得其数据分析下行带宽 往往高于其它计算引擎,但会 ,服务器内存资源的限制也使得其性能的扩展地处着一定的瓶颈,在超大规模负载中无法充埋点挥其利用内存进行计算的性能优势。

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

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路机架服务器NF52400M5服务器。该产品满足更多业务对网络下行带宽 、高计算性能、大内存容量的要求,并肩对密度和计算性能有较高需求并对存储有一定要求的客户提供了很好的外理方案。

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

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

为了验证傲腾内地处该公司语音云数据分析中的使用效果,亲戚亲戚朋友在实际的方案部署中,选用了浪潮52400M5与傲腾内存的强强组合,分别测试基于傲腾内存/ DRAM 内存并都不 配置下的性能对比。亲戚亲戚朋友部署了5台浪潮NF52400M5服务器,其中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不可能 通过了最大400TB数据集规模的性能基准测试。

但会 亲戚亲戚朋友选用了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) 。

收益分析:

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

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