写点什么

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:272841
用户头像

发布了 182 篇内容, 共 103.5 次阅读, 收获喜欢 208 次。

关注

评论 2 条评论

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

有原则,方得始终!

鲁米

SOLID 设计原则

Redis 学习笔记 07:对象

架构精进之路

redis 七日更 28天写作

警惕!incaseformat蠕虫病毒来袭,23日还将爆发!

病毒云查杀

对比:微服务VS单体架构

xcbeyond

微服务 单体架构 28天写作

UML是表达思想的工具

鲁米

UML

“公测”成绩亮眼 数字人民币有望重构支付体系

CECBC

数字红包

微众银行区块链:领跑产业应用落地 推进开源生态繁荣

CECBC

区块链技术

产品经理训练营 - 第一章 必做作业

Denny-xi

产品经理 产品经理新人如何落地 产品经理训练营

产品手记--1

曦语

架构的直观展示

鲁米

架构视图 4+1

“战复不胜”的产品经理

产品经理训练营

作业1

胡小湖

合约跟单系统APP开发|合约跟单软件开发

系统开发

产品经理训练营 0 期作业第一章作业

郭郭

量化策略交易软件开发系统源码

ssh连接不上Linux怎么办

HKBGP

Linux

干货提炼|视觉小目标检测模型难点分析与突破

百度大脑

同舟共“冀”,共克“石”艰

疫情

Docker发布开发团队2021年三个首选方向;工信部印发《工业互联网创新发展行动计划(2021-2023 年)》

京东科技开发者

云计算

40000美元之后,比特币高位震荡加剧,是买?是卖?还是持有?

CECBC

比特币

四,编程范式

鲁米

编程范式

四面字节跳动(已拿下1-2级offer):算法+JVM+线程池+数据库+spring+项目

Java 程序员 面试 科技

Prometheus 与 nodata 告警

OpsMind

Prometheus CMDB PromQL

初探架构,随笔整理

鲁米

软件架构

产品实战作业(Job Model)

晓豪

迷茫 产品经理训练营 BTA 邱岳

产品经理第0期训练营作业(第一周)

Heracles

产品经理训练营

万字解释!在咸鱼被疯抢的网络协议核心彩板手册已曝光!

996小迁

Java 编程 架构 面试 网络协议

使用内存NewSQL数据平台来处理实时数据流的三个好处

VoltDB

Apache 数据库 sql VoltDB

极客时间产品经理训练营第一次作业

待注册

极客大学产品经理训练营

产品经理训练营Week1学习心得

Mai

数据产品经理公司要求对比分析

🙈🙈🙈

极客大学产品经理训练营

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