写点什么

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

发布了 183 篇内容, 共 109.2 次阅读, 收获喜欢 210 次。

关注

评论 2 条评论

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

DiT:Transformers 与扩散模型强强联手

Zilliz

AI 算法模型

H5直播技术起航

京东科技开发者

音视频 编码 H5 flv 企业号 1 月 PK 榜

DevSecOps 与软件开发安全

飞算JavaAI开发助手

Dubbo-kubernetes 基于 Informer 服务发现优化之路

阿里巴巴中间件

阿里云 Kubernetes 云原生 dubbo

龙湖千丁基于 ACK@Edge 的云原生智慧停车系统架构实践

阿里巴巴中间件

阿里云 云原生

ClassIn:如何打造更稳定的Zabbix监控系统

OceanBase 数据库

oceanbase 数据库·

Flink 批作业的运行时自适应执行管控

Apache Flink

大数据 flink 实时计算

走进AI图像生成核心技术 - Diffusion

Baihai IDP

人工智能 AI AIGC Diffusion 扩散模型

LogicFlow自定义业务节点

小鑫同学

前端 vite Vue 3

SeekBar(拖动条)

芯动大师

android SeekBar 拖动条

2022 OceanBase 年度报告|用技术让海量数据的管理和使用更简单!

OceanBase 数据库

数据库 oceanbase

《PyTorch 深度学习实战》学习笔记 --NumPy(上)

IT蜗壳-Tango

钉钉 IM 基于 RocketMQ 5.0 的云原生应用实践

阿里巴巴中间件

阿里云 RocketMQ 云原生

马斯克收购推特后,亲自与员工探讨了……

博文视点Broadview

神经网络基础部件-损失函数详解

嵌入式视觉

激活函数 Relu sigmoid tanh swish激活函数

如何用「标准差」度量研发波动

feijieppm

项目管理 研发效能 技术管理 文化 & 方法 效能度量

架构实战营4.1 数据库存储架构随堂练习

西山薄凉

「架构实战营」

阿里云连续3年跻身Gartner全球云数据库管理系统领导者象限

云布道师

阿里云

每个Java程序员都必须知道的四种负载均衡算法

JAVA旭阳

Java 架构 后端

NFTScan:优质 NFT 应具备什么?

NFT Research

区块链 NFT

为什么开发者这么看重SQL?看完这些应用场景你就明白了

雨果

sql 数据库管理工具 SQL开发工具

先行试点,创新改造:中信期货关键业务系统自主可控的实践之路

OceanBase 数据库

数据治理:数据质量管理策略!

用友BIP

高并发中的atomic

Steven

Java高手速成 | 新增类Record的工作实例

TiAmo

新特性 Java’

安信证券资管清算重要业务在原生分布式数据库的创新实践

OceanBase 数据库

数据库 oceanbase

JDK结构介绍

Steven

2023-01-10:智能机器人要坐专用电梯把货物送到指定地点, 整栋楼只有一部电梯,并且由于容量限制智能机器人只能放下一件货物, 给定K个货物,每个货物都有所在楼层(from)和目的楼层(to),

福大大架构师每日一题

算法 rust Solidity 福大大

APISIX+Dubbo+Nacos 最佳实践

阿里巴巴中间件

阿里云 云原生 dubbo nacos APISIX

KaiwuDB 1.0 - 时序数据库系列产品正式发布

KaiwuDB

数据库

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