AI实践哪家强?来 AICon, 解锁技术前沿,探寻产业新机! 了解详情
写点什么

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

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

关注

评论 2 条评论

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

请谈下Android消息机制,成功拿下大厂offer

欢喜学安卓

android 程序员 面试 移动开发

向大佬学习!「mybatis查询匹配机制」,手动点赞

java小李

java 14 Mybati

如何实现支持百亿级文件的分布式文件存储

焱融科技

云计算 云原生 高性能 分布式存储 海量存储

架构实战营模块四作业

老猎人

架构实战营

汽车燃料效率预测

毛显新

tensorflow

DAPP智能合约开发|智能合约搭建

Geek_23f0c3

区块链 智能合约 DAPP智能合约交易系统开发 DAPP系统开发

云图说|云上应用监控神器——应用性能监控APM2.0

华为云开发者联盟

APM 华为云 云图说 应用性能管理 应用监控

根据译文片段预测翻译作者

毛显新

tensorflow

架构实战营-模块三

Cingk

手写基数排序算法

实力程序员

程序员 C语言 排序算法

TensorFlow 2 quickstart for experts

毛显新

tensorflow

机器学习- 吴恩达Andrew Ng Coursera学习总结合集 John 易筋 ARTS 打卡 Week 57

John(易筋)

ARTS 打卡计划

Recommending movies: retrieval

毛显新

tensorflow 推荐系统

拨云开雾!阿里面试官力荐Java开发必看的操作系统底层原理PDF

Java架构追梦

Java 阿里巴巴 架构 面试 操作系统

速来围观!大佬把Java基础核心知识整理成了PDF版

java小李

Java开发手册 Java 开发

被面试官问的Android问题难倒了,深度集成!

欢喜学安卓

android 程序员 面试 移动开发

从源码角度详解Java的Callable接口

华为云开发者联盟

Java ide jdk Callable Callable接口

聊聊百度搜索背后的故事

程序员鱼皮

Java 搜索引擎 数据结构 算法 后端

面试题:JVM在Java堆中对对象的创建、内存结构、访问方式

java小李

java 14 sping

带你了解弯曲文本检测算法的两种思路:区域重组和像素分割

华为云开发者联盟

文字 目标检测算法 文本检测 区域重组 像素分割

DeFi智能合约DAPP开发|DeFi项目源码

Geek_23f0c3

DeFi去中心化系统开发 DAPP智能合约交易系统开发

携生态伙伴展示AI计算盒参考设计最新成果 英特尔点亮智能边缘广阔机遇

E科讯

行云创新完成B轮融资,阿里云独家投资

行云创新

阿里云 云原生 投资

Vue进阶(九十四):自定义组件

No Silver Bullet

Vue 自定义组件 7月日更

大学四年Java学习路线规划,所有私藏资料我都贡献出来了

java小李

spring Java web

架构实战营模块 3 课后作业

hello

架构师实战营

怎么在Guitar Pro乐谱中加入哇音

懒得勤快

LeetCode题解:456. 132 模式,n平方暴力,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

淘宝一面:说一下 Spring Boot 自动装配原理呗?

java小李

面试 java 14 sping

stack overflow 问题分类

毛显新

tensorflow

对象存储手把手教三 | 数据分段上传

QingStor分布式存储

对象存储 分布式存储 数据传输

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