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

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

3天内不再提示

Apache Spark 3.2有哪些新特性

数据分析与开发 来源:过往记忆大数据 作者:过往记忆大数据 2021-11-17 14:09 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

经过七轮投票, Apache Spark 3.2 终于正式发布了。Apache Spark 3.2 已经是 Databricks Runtime 10.0 的一部分,感兴趣的同学可以去试用一下。按照惯例,这个版本应该不是稳定版,所以建议大家不要在生产环境中使用。

Spark 的每月 Maven 下载数量迅速增长到 2000 万,与去年同期相比,Spark 的月下载量翻了一番。Spark 已成为在单节点机器或集群上执行数据工程、数据科学和机器学习的最广泛使用的引擎。

Spark 3.2 继续以使 Spark 更加统一、简单、快速和可扩展为目标,通过以下特性扩展其范围:

•在 Apache Spark 上引入 panda API,统一小数据API和大数据API。

•完成 ANSI SQL 兼容模式,简化 SQL 工作负载的迁移。

•自适应查询执行产品化完成,以在运行时加速 Spark SQL。

•引入 RocksDB 状态存储以使状态处理更具可扩展性。

在这篇博文中,我们总结了一些更高层次的特性和改进。请关注即将发布的深入研究这些特性的文章。有关所有 Spark 组件的主要功能和已解决的 JIRA 的完整列表,请参阅 Apache Spark 3.2.0 release notes

统一小数据 API 和大数据 API

Python 是 Spark 上使用最广泛的语言。为了使 Spark 更具 Python 风格,Pandas API 被引入到 Spark,作为 Project Zen 的一部分(另请参阅 Data + AI Summit 2021 会议中的 Project Zen: Making Data Science Easier in PySpark 议题)。现在 pandas 的现有用户可以通过一行更改来扩展他们的 pandas 应用程序。如下图所示,得益于 Spark 引擎中的复杂优化,单节点机器 [左] 和多节点 Spark 集群 [右] 的性能都可以得到极大提升。

同时,Python 用户还可以无缝利用 Spark 提供的统一分析功能,包括通过 SQL 查询数据、流处理和可扩展机器学习 (ML)。新的 Pandas API 还提供了由 plotly 后端支持的交互式数据可视化。

简化 SQL 迁移

添加了更多 ANSI SQL 功能(例如,支持 lateral join)。经过一年多的发展,本次发布的 ANSI SQL 兼容处于 GA 状态。为了避免大量破坏行为的更改,默认情况下 spark.sql.ansi.enabled 依然是未启用的。ANSI 模式包括以下主要行为更改:

•当 SQL 运算符/函数的输入无效时,会抛出运行时错误,而不是返回为 null (SPARK-33275)。例如,算术运算中的整数值溢出错误,或将字符串转换为数字/时间戳类型时的解析错误。

•标准化类型强制语法规则 (SPARK-34246)。新规则定义了给定数据类型的值是否可以基于数据类型优先级列表隐式提升为另一种数据类型,这比默认的非 ANSI 模式更直接。

•新的显式转换语法规则 (SPARK-33354)。当 Spark 查询包含非法类型转换(例如,日期/时间戳类型转换为数字类型)时,会抛出编译时错误,告知用户转换无效。

此版本还包括一些尚未完全完成的新计划。例如,标准化 Spark 中的异常消息(SPARK-33539);引入 ANSI interval type (SPARK-27790) 并提高相关子查询的覆盖范围 (SPARK-35553)。

在运行时加速 Spark SQL

此版本 (SPARK-33679) 中默认启用自适应查询执行 (AQE)。为了提高性能,AQE 可以根据在运行时收集的准确统计信息重新优化查询执行计划。在大数据中,维护和预先收集统计数据的成本很高。无论优化器有多先进,缺乏准确的统计信息通常会导致计划效率低下。在这个版本中,AQE 与所有现有的查询优化技术(例如,动态分区修剪,Dynamic Partition Pruning)完全兼容,以重新优化 JOIN 策略、倾斜 JOIN 和 shuffle分区合并。

小数据和大数据都应该在统一的数据分析系统中以高效的方式处理。短查询性能也变得至关重要。当处理的数据量相当小时,在复杂查询中编译 Spark 查询的开销非常大。为了进一步降低查询编译延迟,Spark 3.2.0删除了分析器/优化器规则(SPARK-35042、SPARK-35103) 中不必要的查询计划遍历,并加快了新查询计划的构建 (SPARK-34989)。因此,与 Spark 3.1.2 相比,TPC-DS 查询的编译时间减少了 61%。

更可扩展的状态处理流

Structured Streaming 中状态存储的默认实现是不可伸缩的,因为可以维护的状态数量受执行器堆大小的限制。在此版本中,Databricks 为 Spark 社区基于 RocksDB 的状态存储实现做出了贡献,该实现已在 Databricks 生产中使用了四年多。这种状态存储可以通过对键进行排序来避免完全扫描,并在不依赖于执行器堆大小的情况下从磁盘提供数据。

此外,状态存储 API 还包含用于前缀匹配扫描 (SPARK-35861) 的 API,以有效支持基于事件时间的会话 (SPARK-10816),允许用户在 eventTime 上对会话窗口进行聚合。更多细节,请阅读 Native support of session window in Apache Spark’s Structured Streaming 博文。

Spark 3.2 的其他更新

除了上面这些新功能外,这个版本还关注可用性、稳定性和功能加强,解决了大约 1700 个 JIRA tickets。这是 200 多名贡献者贡献的结果,包括个人和公司,如 Databricks,苹果,Linkedin, Facebook,微软,英特尔,阿里巴巴,英伟达,Netflix, Adobe 等。我们在这篇博文中重点介绍了 Spark 中的许多关键 SQL、Python 和流数据改进,但 3.2 里程碑中还有许多其他功能,包括代码生成覆盖率的改进和连接器的增强,您可以在版本中了解更多信息。

开始使用 Spark 3.2

如果您想在 Databricks Runtime 10.0 中试用 Apache Spark 3.2,请注册 Databricks 社区版或 Databricks 试用版,这两者都是免费的,并在几分钟内就可以使用。如果你想自己搭建的话,可以到 这里 下载。

本文翻译自 《Introducing Apache Spark 3.2》:https://databricks.com/blog/2021/10/19/introducing-apache-spark-3-2.html

责任编辑:haq

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

    关注

    8

    文章

    7314

    浏览量

    93941
  • API
    API
    +关注

    关注

    2

    文章

    2146

    浏览量

    66199

原文标题:Apache Spark 3.2 正式发布,新特性详解

文章出处:【微信号:DBDevs,微信公众号:数据分析与开发】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    正面对决GPT-5和Germini-3,DeepSeek-V3.2震撼发布

    12月1日,中国 AI创新企业 DeepSeek 再度加速技术迭代,今日宣布推出 DeepSeek-V3.2 与 V3.2-Speciale 两款模型。公司在官网上指出,DeepSeek-V3.2
    的头像 发表于 12-02 14:10 6132次阅读
    正面对决GPT-5和Germini-3,DeepSeek-V<b class='flag-5'>3.2</b>震撼发布

    NVIDIA DGX Spark系统恢复过程与步骤

    在使用 NVIDIA DGX Spark 的过程中,可能会出现配置故障,而导致开发中断的问题,本篇教程将带大家了解如何一步步完成系统恢复。
    的头像 发表于 11-28 09:46 3504次阅读
    NVIDIA DGX <b class='flag-5'>Spark</b>系统恢复过程与步骤

    NVIDIA DGX Spark助力构建自己的AI模型

    2025 年 1 月 6 日,NVIDIA 正式宣布其 Project DIGITS 项目,并于 3 月 18 日更名为 NVIDIA DGX Spark,进一步公布了产品细节。DGX Spark
    的头像 发表于 11-21 09:25 521次阅读
    NVIDIA DGX <b class='flag-5'>Spark</b>助力构建自己的AI模型

    在NVIDIA DGX Spark平台上对NVIDIA ConnectX-7 200G网卡配置教程

    在 NVIDIA DGX Spark 平台上对 NVIDIA ConnectX-7 200G 网卡进行配置时,会遇到“4 个逻辑端口”现象。理解背后的真相是后续所有配置的基础。本文将从此现象入手,逐步解析其原理,并提供从基础配置到深度性能验证的完整流程。
    的头像 发表于 11-21 09:19 4394次阅读
    在NVIDIA DGX <b class='flag-5'>Spark</b>平台上对NVIDIA ConnectX-7 200G网卡配置教程

    NVIDIA DGX Spark快速入门指南

    NVIDIA DGX Spark 已正式向 AI 开发者交付,对于刚入手的全新 DGX Spark,该如何进行初始化设置?本篇文章将引导您完成 DGX Spark 首次设置。在初始设置的过程中,您
    的头像 发表于 11-17 14:11 4060次阅读
    NVIDIA DGX <b class='flag-5'>Spark</b>快速入门指南

    NVIDIA黄仁勋向SpaceX马斯克交付DGX Spark

    革新于星舰基地开始。NVIDIA 创始人兼首席执行官黄仁勋亲手将全球迄今为止最小的 AI 超级计算机 NVIDIA DGX Spark 交付给埃隆·马斯克,拉开了该产品上市的序幕。
    的头像 发表于 10-21 11:12 598次阅读

    NVIDIA DGX Spark新一代AI超级计算机正式交付

    NVIDIA 创始人兼首席执行官黄仁勋在 SpaceX 向埃隆·马斯克交付 DGX Spark
    的头像 发表于 10-21 10:41 611次阅读

    NVIDIA DGX Spark桌面AI计算机开启预订

    DGX Spark 现已开启预订!丽台科技作为 NVIDIA 授权分销商,提供从产品到服务的一站式解决方案,助力轻松部署桌面 AI 计算机。
    的头像 发表于 09-23 17:20 903次阅读
    NVIDIA DGX <b class='flag-5'>Spark</b>桌面AI计算机开启预订

    使用NVIDIA GPU加速Apache Spark中Parquet数据扫描

    的方式组织数据,这使得 Parquet 在查询时仅读取所需的列,而无需扫描整行数据,即可实现高性能的查询和分析。高效的数据布局使 Parquet 在现代分析生态系统中成为了受欢迎的选择,尤其是在 Apache Spark 工作负载中。
    的头像 发表于 07-23 10:52 710次阅读
    使用NVIDIA GPU加速<b class='flag-5'>Apache</b> <b class='flag-5'>Spark</b>中Parquet数据扫描

    FVT-3SVCTCXO 3.2×2.5mm:GPS/IoT/移动设备应用规格与特性概述

    内容概要:本文档详细介绍了FVT-3S系列SMD VCTCXO(电压控制温度补偿晶体振荡器)的技术规格和应用特性。该产品具有紧凑的3.2×2.5×0.9毫米陶瓷封装,适用于低功耗、小型化和轻量化要求
    发表于 06-25 13:50 0次下载

    【电子元件】FVC-5X系列电压控制晶体振荡器(VCXO):5.0×3.2mm封装规格与应用特性介绍

    内容概要:本文档详细介绍了FVC-5X系列电压控制晶体振荡器(VCXO)的技术规格和应用特点。该系列器件采用标准CMOS输出,表面贴装(SMD)封装,尺寸为5.0×3.2×1.25mm,具有6个焊盘
    发表于 05-20 16:58 0次下载

    NVIDIA加速的Apache Spark助力企业节省大量成本

    随着 NVIDIA 推出 Aether 项目,通过采用 NVIDIA 加速的 Apache Spark 企业得以自动加速其数据中心规模的分析工作负载,从而节省数百万美元。
    的头像 发表于 03-25 15:09 888次阅读
    NVIDIA加速的<b class='flag-5'>Apache</b> <b class='flag-5'>Spark</b>助力企业节省大量成本

    NVIDIA 宣布推出 DGX Spark 个人 AI 计算机

    的 DGX™ 个人 AI 超级计算机。   DGX Spark(前身为 Project DIGITS)支持 AI 开发者、研究人员、数据科学家和学生,在台式电脑上对大模型进行原型设计、微调和推理。用
    发表于 03-19 09:59 502次阅读
       NVIDIA 宣布推出 DGX <b class='flag-5'>Spark</b> 个人 AI 计算机

    IBM发布全新Granite 3.2 AI模型

    Granite 3.2 是小型的 AI 模型,通过对开发人员友好的授权条款,提供推理、视觉和护栏功能。
    的头像 发表于 03-06 16:47 899次阅读

    什么是 USB 3.2

    什么是USB3.2?USB3.2是一种USB(通用串行总线)标准,它建立在之前的USB3.0和USB3.1标准之上。它的开发是为了提供更快的数据传输速度和更高的整体性能。提高数据传输速度
    的头像 发表于 01-24 11:39 1.1w次阅读
    什么是 USB <b class='flag-5'>3.2</b>?