写点什么

Spark 3.0 新特性抢先看

Spark 3.0 新特性抢先看

  • 2020-05-07
  • 本文字数:1024 字

    阅读完需:约 3 分钟

Spark 3.0 新特性抢先看

记得 Databricks 研发工程师王耿亮老师去年在分享 Spark 新特性议题的时候,稍微透露了一些 关于 Spark 3.0 版本特性的内容,但具体的性能细节可以关注今年 ASF 和 Apache Spark PMC 最终的发布信息。这里做一些简单的介绍,具体技术细节请关注 9 月 11 日深圳站ArchSummit全球架构师峰会演讲。


Accelerator-aware Scheduler

作为 Project Hydrogen 的延续,在 Spark 3.0 版本里支持 GPU Aware Scheduling 调度,广泛用于加速特定应用,比如深度学习等。

自适应查询优化

这是 Databricks 和 Intel 中国团队在做的项目(SPARK-31412),基于已完成的执行计划节点的统计数据,优化剩余的查询执行计划,它能够支持:动态合并小的 partition 减少 Reducer 的数量;将 Sort Merge Join 转换为 Broadcast Hash Join;动态分割相对比较大的 partition 从而更好地处理数据倾斜。以下图为例:



这是一个典型的 Spark 任意操作过程,读取两个文件,而使用 Adaptive Execution 方法之后,将 Sort Merge Join 转换为 Broadcast Hash Join,性能也有了很大的提升。

Data Source API V2

发布 Data Source API,其设计比较合理,性能更稳定,批处理和流处理使用统一的 API。其背后的历史原因是,第一个版本的 Data Source API 在实现 Data Source 过程中不是很方便,后来做了 FileFormat。但是流处理的时候又使用另一套 API。所以社区花了很多时间把 API 都整合起来,并且增加了新的 Catalog plugin API(SPARK-31121)。

Apache Spark 3.0 其他目标:

  1. 支持 JDK 11

  2. 动态分区剪枝 (SPARK-11150)

  3. Redesigned pandas UDFs with type hints (SPARK-28264)


• 支持 Hadoop 3.x


• Hive execution 从 1.2.1 升级至 2.3.7


• Scala 2.12 GA


• 更加遵从 ANSI compliance


• Structured Steaming UI

Pandas DataFrame vs Spark DataFrame


很多数据科学家之前在学数据分析的时候使用 Python 的 Pandas,但是真正到了生产环境,Pandas 只能运行在一台机器上,而且是单线程,性能和可扩展性有限。这个时候需要转到 Spark,但是受到 API 区别,所以会有一些局限。



但是后来开源了 Koalas,目标是使用 Pandas API 可以直接运行在 Spark,能够支持数据科学家更好的无缝迁移到 Spark。

【活动推荐】

关于 Spark 3.0 新特性的解读,我们邀请王耿亮老师在今年 9 月 11 日 ArchSummit 全球架构师峰会(深圳站)上详细介绍,包括 Delta Lake 新功能介绍、设计思路细节、用户在使用过程中遇到的坑(案例),以及解决方法。感兴趣的可以点击查看会议官网了解详情。


2020-05-07 14:272716
用户头像

发布了 181 篇内容, 共 97.6 次阅读, 收获喜欢 207 次。

关注

评论 2 条评论

发布
用户头像
求门票
2020-05-09 00:24
回复
哥哥,免费无好货,来,我给你折扣票,内容保质保量。欢迎联系。
2020-05-13 21:43
回复
没有更多了
发现更多内容

接口自动化测试 | JsonPath 与 Mustache 请求传参的模板化技术

霍格沃兹测试开发学社

关于飞桨PaddlePaddle

飞桨PaddlePaddle

paddle 开源 飞桨

如何通俗理解信创国产化是什么意思?有哪些系统?有什么意义?

行云管家

信创 堡垒机 国产操作系统

深圳双机热备软件厂商哪家好?咨询电话多少?

行云管家

高可用 系统故障 双机热备

如何用一套代码运行跨多操作系统应用

HarmonyOS开发者

HarmonyOS

如何在flutter中运行微信小程序

Onegun

flutter 小程序

TiDB 在安信证券资产中心与极速交易场景的实践

PingCAP

TiDB

面试必备多线程&高并发通关手册(面试+源码+脑图)

小小怪下士

Java 程序员 面试 多线程 高并发

君子动手不动口,FinClip 喊你做超级体验官啦!

FinClip

测试开发 | Java 接口自动化测试首选方案:REST Assured 实践 (一)

霍格沃兹测试开发学社

华为云MRS支持lakeformation能力,打造一站式湖仓,释放数据价值

华为云开发者联盟

大数据 后端 华为云 企业号 2 月 PK 榜 华为云开发者联盟

舞台LED显示屏使用禁忌

Dylan

LED显示屏 全彩LED显示屏 led显示屏厂家

云端智创 | 聚焦云剪辑核心,一文详述智能生产全链路

阿里云CloudImagine

云计算 视频云 智能媒体生产

那些爆火的小游戏你都玩过吗?

没有用户名丶

小程序游戏

测试开发 | REST Assured 实践(二):断言实现

霍格沃兹测试开发学社

测试开发 | 接口自动化测试框架 RESTAssured 实践(三):对 Response 结果导出

霍格沃兹测试开发学社

BI 仪表板/数据可视化大屏最全面的设计流程梳理

搞大屏的小北

需求分析 业务场景分析 BI 分析工具 可视化数据 BI 报表

关于Zebec生态的改进提案,即将上线的 Nautilus 链

西柚子

4-业务架构师眼中的需求是什么?

涛哥 数字产品和业务架构

业务架构 业务需求

Redis 异步客户端选型及落地实践

京东科技开发者

redis Jedis 客户端 集群库 企业号 2 月 PK 榜

火山引擎DataTester“智能发布”:覆盖产品研发、测试、上线全流程,一站式智能管理A/B实验

字节跳动数据平台

大数据 AB testing实战 企业号 2 月 PK 榜

换个角度理解计算机网络,搭建计网知识框架

Java全栈架构师

程序员 面试 计算机网络 架构师 tcpip

关于Zebec生态的改进提案,以及即将上线的 Nautilus 链

股市老人

YOLOv8来啦!YOLO内卷期模型怎么选?9+款AI硬件如何快速部署?深度解析

飞桨PaddlePaddle

paddle yolo 飞桨

优化数仓业务视图:过滤条件传递

华为云开发者联盟

数据库 后端 华为云 企业号 2 月 PK 榜 华为云开发者联盟

共攀元宇宙新高峰,2月14日沈阳元宇宙产业峰会邀您携手领跑2023

华为云开发者联盟

华为云 元宇宙 企业号 2 月 PK 榜 华为云开发者联盟 VR开发

Flutter 生成运行小程序的混合App开发实践

FinFish

flutter 移动开发 小程序技术 混合app

ONES 通过国内最权威信息安全等级认证——等保三级

万事ONES

落地DevOps的三要素

老张

DevOps 软件工程 研发效能 交付质量

高性能图像处理的新利器——FlyCV

飞桨PaddlePaddle

paddle 飞桨 flycv

Spark 3.0 新特性抢先看_架构_Xue Liang_InfoQ精选文章