加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 云计算 > 正文

Spark SQL性能提升17.7倍是怎样实现的?

发布时间:2021-06-03 15:21:28 所属栏目:云计算 来源:互联网
导读:Spark在该公司的大数据平台中主要用于海量用户数据分析,每天支撑稳定运行的Spark SQL统计分析指标和SQL脚本有几千个。但是在将Spark SQL用于海量用户数据分析的

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

 

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

 

l 随着数据量越来越大,即席分析的需求越来越强烈,即席查询是用户根据用户自己的需求,灵活选择查询条件,系统能够根据用户的选择生成响应的统计报表和结果集;在数据仓库和大数据分析系统中,即席查询使用的越多,对系统的性能要求也就越高,如果内存能够缓存更多的热点数据,能够极大的提升即席查询处理速度并降低响应延迟;

 

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

 

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

 

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

 

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

 

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

 

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

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读