InfoQSpark 3.0开发近两年终于发布,流、Python、SQL重大更新详解
昨天 , 开发历时近两年的 Apache Spark 3.0.0 正式发布了!3.0.0 版本一共包含了 3400 多个补丁 , 是开源社区有史以来贡献力度最大的一次 , 新版本加入了 Python 和 SQL 的高级功能 , 提升了探索和生产应用方面的易用性 。 今年 , Spark 也迎来了开源 10 周年 , 这 10 年里 Spark 一直在不断发展 , 以便满足更多的应用场景和更广泛的受众需求 。Spark 3.0 主要特性概览
- 相比 Spark 2.4 , 性能提升了 2 倍 , 主要体现在自适应查询执行、动态分区修剪等方面;
- 兼容 ANSI SQL;
- Pandas API 的重大改进 , 包括 Python 类型提示和增加额外的 Pandas UDF;
- 改进了 Python 错误处理 , 简化了 PySpark 异常;
- 结构化流的新 UI;
- 调用 R 语言 UDF 速度提升最高达到了 40 倍;
- 解决了 3400 个 Jira 问题 , 这些问题在 Spark 各个组件的分布情况如下:
本文插图
Spark 开源 10 周年 Spark 诞生于加州大学伯克利分校的 AMPLab 实验室 , 该实验室致力于数据密集型计算的研究 。 AMPLab 研究人员与大型互联网公司合作 , 研究如何解决数据和 AI 问题 , 然后发现那些拥有海量数据的公司也面临同样的问题 。 于是 , 他们开发了一个新引擎来处理这些新兴的工作负载 , 同时又能够让开发人员轻松地使用大数据处理 API 。
很快 , 社区开始参与贡献 , 对 Spark 进行了扩展 , 在流、Python 和 SQL 方面带来了新功能 , 而这些模式现在已经是 Spark 的主要用例 。 持续的投入把 Spark 带到了今天的状态 , 成为数据处理、数据科学、机器学习和数据分析工作负载事实上的引擎 。 Apache Spark 3.0 通过显著改善对 SQL 和 Python(当今 Spark 使用的两种最广泛的语言)的支持和对性能、可操作性等方面的优化继续推进这种趋势 。
改进的 Spark SQL 引擎 Spark SQL 是支持大多数 Spark 应用程序的引擎 。 例如 , 在 Databricks , 超过 90%的 Spark API 调用使用了 DataFrame、Dataset 和 SQL API 。 这说明即使是 Python 和 Scala 开发人员 , 他们的大部分工作都通过 Spark SQL 引擎进行 。 Spark 3.0 有 46%的补丁与 SQL 有关 , 提升了性能和 ANSI SQL 兼容性 。 如下图所示 , Spark 3.0 的总体性能大约是 Spark 2.4 的 2 倍 。 接下来将介绍 Spark SQL 引擎的新功能 。
本文插图
【InfoQSpark 3.0开发近两年终于发布,流、Python、SQL重大更新详解】
新的自适应查询执行(AQE)框架通过在运行时生成更好的执行计划来提升性能 , 即使初始的计划不理想(由于缺少或使用了不正确的数据统计信息和错误地估算了成本) 。 由于 Spark 的数据存储和计算是分离的 , 因此数据的到达是无法预测的 。 基于这些原因 , 对于 Spark 来说 , 运行时自适应比传统系统来得更为重要 。 新版本引入了三个主要的自适应优化:
- 动态聚结 shuffle 分区可简化甚至是避免调整 shuffle 分区的数量 。 用户可以在开始时设置相对较大的 shuffle 分区数量 , AQE 会在运行时将相邻的小分区合并为较大的分区 。
- 动态切换连接策略可以在一定程度上避免由于缺少统计信息或错误估计大小而导致执行次优计划的情况 。 这种自适应优化可以在运行时自动将排序合并连接(sort-merge join)转换成广播哈希连接(broadcast-hash join) , 从而进一步提高性能 。
- 动态优化倾斜(skew)连接是另一个关键的性能增强 。 倾斜连接可能会导致负载的极度失衡并严重降低性能 。 在 AQE 从 shuffle 文件统计信息中检测到倾斜连接之后 , 它可以将倾斜分区拆分为较小的分区 , 并将它们与另一边的相应分区合并 。 这个优化可以让倾斜处理并行化 , 获得更好的整体性能 。
- 中国网|中国发布丨国际海事组织向全球分享《船舶船员新冠肺炎疫情防控操作指南(V3.0)》
- 光学|奥普光电:Caf2光学晶体可根据实际需求进行二次开发用于光刻机的光学系统中
- 在攀枝花开发建设纪念馆忆往昔
- 大白话财财|涉案近8千万,CSO遭严打,上市药企虚开发票超900张
- 红色警戒|《红色警戒》尤里被玩坏的作战单位,开发者也没想到能这么玩吧
- 21世纪经济报道|北京健康宝“闪崩”新版3.0版不稳定?
- 原平之声|中国地质大学专家组赴原平市调研地热资源开发并召开座谈会
- 直观视界松下向华为抛橄榄枝,欲跟华为共同开发芯片
- 简单观察|浦江开发区打造科创人才集聚新平台
- 小礼游戏|《红色警戒》尤里被玩坏的作战单位,开发者都不知道能这么玩吧