0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Spark SQL性能实现17.7倍的提升,是如何做到的

独爱72H 来源:砍柴网 作者:砍柴网 2019-11-14 16:32 次阅读

(文章来源:砍柴网)

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

某全球领先的语音识别服务提供商是最早将Spark应用到生产环境的团队之一,该公司的语音云通过几千台服务器构成的云计算平台向用户提供多样的、实时语音处理能力,日均服务终端用户超过15亿,日增数据超过100TB。2014年该公司基于Spark和AI技术构建了DMP大数据平台(用户数据管理平台)。DMP平台的主要功能就是收集、存储、分析和挖掘庞大的用户数据,以实现广告精准投放。

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

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

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

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

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 互联网
    +关注

    关注

    54

    文章

    10845

    浏览量

    100520
  • ai技术
    +关注

    关注

    1

    文章

    1037

    浏览量

    23632
收藏 人收藏

    评论

    相关推荐

    Spark基于DPU Snappy压缩算法的异构加速方案

    使 Spark 在某些工作负载方面表现得更加优越。换句话说,Spark 启用了内存分布数据集,除了能够提供交互式查询外,它还可以优化迭代工作负载。Spark SQL
    的头像 发表于 03-26 17:06 131次阅读
    <b class='flag-5'>Spark</b>基于DPU Snappy压缩算法的异构加速方案

    RDMA技术在Apache Spark中的应用

    、电信、零售、医疗保健还是物联网,Spark的应用几乎遍及所有需要处理海量数据和复杂计算的领域。它的快速、易用和通用性,使得数据科学家和工程师能够轻松实现数据挖掘、数据分析、实时处理等任务。 然而,在Spark的灿烂光环背后,一
    的头像 发表于 03-25 18:13 910次阅读
    RDMA技术在Apache <b class='flag-5'>Spark</b>中的应用

    基于DPU和HADOS-RACE加速Spark 3.x

    背景简介 Apache Spark(下文简称Spark)是一种开源集群计算引擎,支持批/流计算、SQL分析、机器学习、图计算等计算范式,以其强大的容错能力、可扩展性、函数式API、多语言支持(
    的头像 发表于 03-25 18:12 858次阅读
    基于DPU和HADOS-RACE加速<b class='flag-5'>Spark</b> 3.x

    光伏户用如何做到低成本获客?

    光伏户用如何做到低成本获客? 随着可再生能源的日益普及和技术的不断进步,光伏系统正逐渐走进千家万户。然而,对于光伏企业来说,如何在激烈的市场竞争中低成本地获取客户,成为了他们面临的一大挑战。本文将
    发表于 02-27 10:33

    “其貌不扬”的共模电感究竟是如何做到抗干扰的呢?

    “其貌不扬”的共模电感究竟是如何做到抗干扰的呢? 共模电感是一种用于滤除电子设备中的共模噪声的重要元件,其主要作用是提供阻抗来滤除共模干扰信号。尽管外观看起来“其貌不扬”,但共模电感通过其特殊
    的头像 发表于 01-11 16:27 158次阅读

    工业级连接器如何做到高抗冲击性?选款一定要了解这几点

    连接器知识分享工业级连接器多用在工厂、车载、户外等复杂场景下,因而面临冲击等应力影响的概率极高。工业级连接器如何做到高抗冲击性,确保高可靠连接呢?这篇文章讲清楚。工业级连接器如何做到高抗冲击性?LP
    的头像 发表于 01-06 08:13 105次阅读
    工业级连接器<b class='flag-5'>如何做到</b>高抗冲击性?选款一定要了解这几点

    AD6688如何做到多板间的AD采样同步?

    大家好,JESD204B协议已让单板多片AD采样同步变得更容易了,想请教下,如何做到多板间的AD采样同步啊,有没有什么好的思路啊。 还有AD6688的采样时钟频率范围为2.5G~3.1G,芯片支持
    发表于 12-12 08:27

    oracle sql 定义变量并赋值

    在Oracle SQL中,变量是用来存储数据值的标识符。通过定义和使用变量,我们可以在SQL语句中使用它们来存储和处理数据,从而实现更灵活和动态的查询和操作。 在Oracle SQL
    的头像 发表于 12-06 10:46 568次阅读

    防物理攻击,芯片是如何做到的?

    防物理攻击,芯片是如何做到的? 芯片是现代电子设备的核心组件,负责存储和处理数据。为了确保芯片的安全性,需要采取一系列防护措施来防范物理攻击,包括防止物理侵入、防御侧信道攻击以及防范反向工程等。下面
    的头像 发表于 11-07 10:18 310次阅读

    NVIDIA 携手腾讯开发和优化 Spark UCX 实现性能跃升

    腾讯网络平台部与数据平台部,联合 NVIDIA 合作开发和优化 Spark UCX,最终实现 Spark Shuffle 稳定加速 15% - 20%,平均降低现网 Spark 任务
    的头像 发表于 08-25 20:50 399次阅读
    NVIDIA 携手腾讯开发和优化 <b class='flag-5'>Spark</b> UCX <b class='flag-5'>实现</b><b class='flag-5'>性能</b>跃升

    9SQL4952-9SQL4954-9SQL4958 系列数据表

    9SQL4952-9SQL4954-9SQL4958 系列数据表
    发表于 07-05 19:04 0次下载
    9<b class='flag-5'>SQL4952-9SQL4954-9SQL</b>4958 系列数据表

    新唐无感FOC方案: 如何做到轻重载都平稳启转?

    如果启转电流比较小,轻载启转平稳,重载时就托不动。若启转电流大,重载能转动,轻载转速就容易上冲。 新唐方案是大电流定位后,开始托动,所以轻重载都能转动。如何做到轻载转速不上冲呢?
    发表于 06-19 12:48

    动态Sql介绍

    动态Sql介绍 动态 SQL 是 MyBatis 的强大特性之一。如果你使用过 JDBC 或其它类似的框架,你应该能理解根据不同条件拼接 SQL 语句有多痛苦,例如拼接时要确保不能忘记添加必要的空格
    的头像 发表于 05-31 09:34 1060次阅读
    动态<b class='flag-5'>Sql</b>介绍

    如何做到一个USB仿真两个CPU的?

    请问一下是如何做到一个USB仿真两个CPU的? 编译从核的工程, 它的固件怎么就能直接写入到主核的工程里去的?
    发表于 05-26 06:10

    PROC SQL介绍

    SQL(Structured Query Language)——结构化查询语言,是用于检索和更新数据的一种标准化语言,SQL在SAS中通过PROC SQL实现
    的头像 发表于 05-19 16:10 1490次阅读
    PROC <b class='flag-5'>SQL</b>介绍