当前位置: 首页 > news >正文

网站建设用宝塔昆明软件开发培训

网站建设用宝塔,昆明软件开发培训,雪玫瑰制作教程来了,免费招聘网站平台有哪些简介#xff1a; Spark SQL 作为 Spark 用来处理结构化数据的一个基本模块#xff0c;已经成为多数企业构建大数据应用的重要选择。但是#xff0c;在大规模连接#xff08;Join#xff09;、聚合#xff08;Aggregate#xff09;等工作负载下#xff0c;Spark 性能会面…简介 Spark SQL 作为 Spark 用来处理结构化数据的一个基本模块已经成为多数企业构建大数据应用的重要选择。但是在大规模连接Join、聚合Aggregate等工作负载下Spark 性能会面临稳定性和性能方面的挑战。 Spark SQL 作为 Spark 用来处理结构化数据的一个基本模块已经成为多数企业构建大数据应用的重要选择。但是在大规模连接Join、聚合Aggregate等工作负载下Spark 性能会面临稳定性和性能方面的挑战。 为了提升 Spark SQL 的性能用户可以选择使用英特尔® 优化分析包Optimized Analytics PackageOAP以及英特尔® 傲腾™ 持久内存和新一代英特尔® 至强® 处理器来改善典型 Spark SQL 工作负载的运行效率。 Spark SQL 面临多场景性能瓶颈 IDC 报告显示全球数据规模将从2019年的45 ZB 增长到2025年的175 ZB 2020年创建、捕获和消耗的数据量估计过 59 ZB。在数据快速移动、迅猛增长的趋势下企业需要使用先进的分析技术来实时处理数据以获得实时的业务洞察力。大数据分析技术的新发展与革命性新硬件的问世显著提高了大数据分析性能使得数据科学家、分析师和业务用户能够获得更深刻的业务洞察。 作为面向大规模数据处理而设计的快速通用的计算引擎Spark 具有开源、经济、灵活等优点常用来构建大型、低延迟的数据分析应用程序。但是Spark 在特定场景下依然会面临性能挑战特别是当处理特大规模数据及交互式查询时。例如由于缺少高性能缓存方案数据 I/O 很容易成为瓶颈。此外Spark Shuffle 也常常因为大量的较小随机磁盘 IO、序列化、网络数据传输成为性能瓶颈导致作业延迟大幅增加进而影响工作负载性能。 新兴的硬件技术可以帮助解决这些挑战。例如高级矢量扩展AVX功能使 Spark 能够利用 SIMD 同时处理更多的数据来加快执行速度而英特尔® 傲腾™ 持久内存可以利用其高性能大容量和低延迟创新的突破性组合来提高 Spark SQL 性能。OAP优化分析包是英特尔和社区开发的一个开源项目旨在借助先进的英特尔处理器、内存和存储以及网络技术通过数据源缓存、SQL 索引、Native SQL 引擎、MLlib 优化等创新软件功能提高 Spark 性能以解决 Spark 核心和相关组件面临的计算和 I/O挑战。 英特尔 Spark 优化分析包OAP 英特尔® 优化分析包OAP是英特尔和社区开发的开源项目旨在提高 Spark 性能。它基于先进的英特尔硬件技术提供了多种功能来改善 Spark 高速缓存、Shuffle、执行和机器学习性能。如下图1显示了 OAP 架构它包括以下组件OAP 数据源高速缓存、Native SQL 引擎、Arrow 数据源、OAP MLlib、RDD 高速缓存、RPMem Shuffle 和远端 Shuffle。 SQL 数据源高速缓存 一种优化的扩展包通过在 Spark SQL 数据源层使用高速缓存技术来提升 Spark SQL 性能。Native 执行引擎 Spark SQL 的 Native 引擎将 Spark 行数处理转为列式处理并借助矢量化 SIMD 以及 Arrow 数据格式进行加速。MLlib Vanilla Spark MLlib 的替代版本通过oneDAL、oneMKL 和 oneCCL 进行了优化。RDD 高速缓存、RPMem Shuffle 等功能通过借助持久内存的大容量、高性能等特点来避免存储溢出包括 RDD 高速缓存、溢出、中间数据提高 Spark 性能。远端 Shuffle 支持远端 Shuffle 和基于持久内存的 Shuffle。图1 OAP 数据源高速缓存 数据源高速缓存SQL DataSource Cache旨在利用用户定义的索引和智能细粒度内存数据高速缓存来提高 Spark SQL 性能如图2所示主要目的是解决交互式查询和批处理作业的性能问题。 图2 交互式查询 大多数用户使用 Spark SQL 作为批处理引擎。但作为一个统一处理引擎很难与非批处理区分。交互式查询需要在几秒、甚至几亚秒内返回数据而非批处理所需的几分钟、甚至几小时。这对于当前的 Spark SQL 数据处理来说是一个很大的挑战。交互式查询通常处理较大的数据集但在通过特定条件过滤后只返回一小部分数据。通过为关键列创建和存储完整的 B 树索引并使用智能细粒度内存数据高速缓存策略Spark SQL 交互式查询处理时间可以显著缩短 批处理作业 对于在数据仓储中使用 Spark SQL 进行业务分析的用户OAP SQL 数据源高速缓存可以通过两种可配置的高速缓存策略来加速批处理作业 • 自动高速缓存热数据。 • 专门高速缓存热表。 SQL 索引和数据源高速缓存为不同列式存储格式提供统一的高速缓存表示形式并设计了针对 RowGroup 中单列的细粒度高速缓存单元。同时它为两种列存储文件格式 Parquet 和 ORC 设计了兼容的适配器层索引和高速缓存都构建在统一表示形式和适配器之上。 OAP 数据源高速缓存架构设计 数据源高速缓存可以高速缓存已解压缩和已解码的矢量化数据以及二进制原始数据。一般来说DRAM 通常在 Spark 集群中用作高速缓存介质但在 OAP 数据源高速缓存中英特尔® 傲腾™持久内存也可以用作高速缓存介质以提供高性能、高成本效益的高速缓存解决方案。如下图3显示了英特尔® 傲腾™ 持久内存用作高速缓存介质时的 OAP 数据源高速缓存的架构设计。 图3 OAP 数据源高速缓存提供以下主要功能 覆盖内置的 Parquet/ORC 文件格式。在分布式集群中提供本地 cache需要外部 KV 存储以支持元数据持久性。NUMA 绑定以提供更高性能若启用英特尔® 傲腾™ 持久内存的 snoopy 模式则不需要 NUMA 绑定。基于 Plasma 的实现从而支持多个 spark 执行单元同时访问缓存。 OAP RPMem Shuffle Spark 旨在为不同的工作负载如即席查询、实时流和机器学习提供高吞吐量和低延迟的数据处理。但是在某些工作负载大规模数据连接/聚合下由于 Shuffle 需要在本地 Shuffle 磁盘读取/写入中间数据并将其通过网络传输Spark 可能会出现性能瓶颈。英特尔® 傲腾™ 持久内存是一种创新型内存技术相较于 DRAM其在同等价位下一般可提供更大的容量并且支持数据的持久性。同时远程直接内存访问RDMA技术支持在不同计算机之间进行独立于操作系统的直接内存访问从而提供高吞吐量、低延迟的网络性能。使用高性能英特尔® 傲腾™ 持久内存和 RDMA 网络可以帮助在一定程度上化解 Shuffle 挑战。 OAP RPMem Shuffle 提供了一个名为 RPMem Shuffle 扩展的可插拔模块该模块可通过修改配置文件覆盖默认的 Spark Shuffle 管理器无需更改 Spark 代码即可使用。使用此扩展Spark shuffle 可以充分利用英特尔® 傲腾™ 持久内存和 RDMA Shuffle 解决方案相较于传统的基于磁盘的 shuffle 方式可以显著提高 Shuffle 性能。 OAP RPMem Shuffle 架构设计 如前文所述Spark Shuffle 是一项成本高昂的操作需要大量的小型随机磁盘 IO、序列化、网络数据传输等步骤因此会大幅增加作业延迟并且很容易成为工作负载性能的瓶颈。通常Spark Shuffle 将从底层存储加载数据并作为 Mapper 的输入然后 Mapper 将根据某种规则处理数据例如根据特定的 Key 将数据分组到不同的分区中。每个 Mapper 的输出都会持久化到本地存储中即 Shuffle 写操作。然后 Reducer 会尝试读取不同 Mapper 的输出数据即 Shuffle 读操作再将读入的数据进行排序等聚合操作并最终输出结果。可以看到一个经典的 Shuffle 操作包括数据在磁盘的读写和在网络的传输而这二者在大数据集下都可能成为工作负载的性能瓶颈。 OAP RPMem Shuffle 旨在解决 Shuffle 瓶颈。如下图4所示OAP RPMem Shuffle 可以通过附加库的形式覆盖现有的 Spark Shuffle 实现。在底层它使用英特尔® 傲腾™ 持久内存作为 Shuffle 介质并在用户空间通过 libpmemobj 对英特尔® 傲腾™持久内存进行访问作为 PMDK 的重要组件libpmemobj 在英特尔® 傲腾™ 持久内存上提供了事务对象存储。OAP RPMemShuffle 扩展使用 Java Native Interface 对 libpmemobj 进行封装并通过 Spark Shuffle Manager 以插件的方式接入Spark。 图4 RDMA 网卡是 RPMem Shuffle 扩展的可选项它可以增加网络带宽降低网络延迟和通信节点的 CPU 利用率。HPNL4 作为一款高性能网络库支持各种网络协议如 TCP/IP、RoCE、iWRAP、OPA 等它为 RPMem Shuffle 提供网络通信支持。如下图5显示了 Vanilla Spark Shuffle 和 OAP RPMem Shuffle 的设计。 图5 在 Vanilla Spark Shuffle 设计中需要首先将数据序列化到堆外内存然后写入机械硬盘或固态盘上的本地文件系统并最终通过 TCP-IP 网络传输数据。这一过程涉及大量上下文切换和文件系统开销因此如果不对现在的 Spark shuffle 实现进行更改就无法充分利用英特尔® 傲腾™ 持久内存的能力。 OAP RPMem Shuffle 使用 libpmemobj 库将数据直接写入英特尔® 傲腾™ 持久内存然后通过将 RDMA 内存区域注册在英特尔® 傲腾™ 来传输数据。此实现方案减少了上下文切换开销消除了文件系统开销并可充分利用 RDMA 实现零拷贝来进一步降低延迟和 CPU 利用率。 原文链接 本文为阿里云原创内容未经允许不得转载。
http://www.pierceye.com/news/176731/

相关文章:

  • 景区网站建设的意义女生学计算机应用技术可以做什么
  • 做律师网站的公司天津公司网站制作
  • 上海建设摩托车官方网站招聘网站数建设
  • 自己制作一个网站需要什么软件安吉网站制作
  • 如何设计服装网站首页网站建设比较好的公司
  • 微信网站的链接标志图片如何做公众号如何创建
  • 建站公司建的网站能改动吗怎样设置默认网站
  • 高并发电商网站开发辽宁省朝阳市做网站
  • 公司做网站有用吗合肥企业快速建站
  • 因脉网站建设公司怎么呀韩国网站开发建设技术特点
  • 网站备案 个人 单位安徽网站建设推广
  • 黔江网站制作网站招标建设
  • 网站注册公司目前最好的引流方法
  • 小米wifi设置网址入口网站通信工程建设网站
  • 深圳专业网站建在线做插画的网站
  • 站长之家网站查询怎么样创建自己的小程序
  • 站酷海报设计图片网站备份怎么做
  • 做网站挣钱么云市场 wordpress
  • 网站域名管理规范seo专员是什么
  • 网站制作+资讯网站特色栏目重要性
  • 网站qq 微信分享怎么做的随州市住房和城乡建设部网站
  • 资源网站建设多少钱手机网站页面文字做多大
  • 烟台专业做网站宜昌教育云网站建设
  • 慕课联盟网站开发实战wordpress怎样修改域名
  • 什么电脑做网站前段用旅游网站建设的利益
  • 做 暧视频在线观看网站花都网站建设设计
  • 黄石企业网站设计服务外包有哪些
  • 团队合作网站网站制作的报价大约是多少
  • 网站在线留言系统能挣钱的平台 正规的
  • 冀州网站制作泉州握旗公司网站建设