写点什么

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

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

关注

评论 2 条评论

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

GrowingIO Design 组件库搭建之组件开发

GrowingIO技术专栏

组件

IPFS云算力挖矿系统开发(详情)丨IPFS云算力(源码)案例

系统开发咨询1357O98O718

“盒模型“初探

编程三昧

CSS css3 大前端 盒模型

vim 操作模式简介

编程三昧

vim 工具

毒瘤还是银弹--低代码与传统研发模式案例对比

赫杰辉

低代码 低代码开发平台

五大新品+两大黑科技,看华为云如何升级基础设施让用户“躺平”

华为云开发者联盟

云原生 基础设施 实景三维建模 计算实例C7 分布式云

玩转容器存储QoS

焱融科技

云计算 容器 云原生 QoS 超融合

架构实战营 模块五作业

netspecial

架构实战营

阿里直通车?阿里Java面试“内幕”:十万字内部面试题总结

Java架构追梦

Java 阿里巴巴 架构 面试

springboot-vue-activiti前后端分离快速开发平台脚手架,整合工作审批流,流程在线编辑器

金陵老街

Vue 后端 工作流 springboot

自媒体需要追求内容真实性:不能被流量裹胁

石头IT视角

最新!GigaOm 发布 API 网关评测报告:API7 和 Kong 企业版本性能对比

API7.ai 技术团队

负载均衡 架构 云原生 后端 网关

华为 HarmonyOS 正式发布!你还认为鸿蒙只是安卓套壳吗?

北游学Java

鸿蒙

蓝海战略 - 如何设计与众不同的价值曲线

石云升

战略思考 职场经验 6月日更

SMT产线可视化管理,智能工业助力全渠道优化

一只数据鲸鱼

数据可视化 智慧工厂 SMT 智慧工业

《面试官:谈谈你对索引的认知》系列之磁盘I/O

架构精进之路

MySQL 索引结构 6月日更

为什么要做语音聊天室

anyRTC开发者

音视频 WebRTC 语音 RTC

☕️【Java 技术之旅】知识盲点关于jar包的点点滴滴

洛神灬殇

Java jar Jar包扫描 6月日更

C 语言面向对象的封装方式(示例)

实力程序员

动态规划(详解矩阵连乘 案例+Java代码实现)

若尘

算法 动态规划 矩阵运算 java代码 6月日更

即构互动白板升级:全面支持教育机构上线H5交互课件

ZEGO即构

音视频 在线教育 互动白板

佣金产品的敏捷交付

鲸品堂

佣金产品 敏捷交付

中断Hwi:提高鸿蒙轻内核系统实时性及执行效率的秘密武器

华为云开发者联盟

鸿蒙 硬件 中断 鸿蒙轻内核 中断信号

用了10年Windows后,我最终转向Linux

学神来啦

Linux windows

【LeetCode】连续的子数组和Java题解

Albert

算法 LeetCode 6月日更

无刷电机与有刷电机的区别

不脱发的程序猿

无刷电机 有刷电机 电机

鸿蒙能成为世界第三的操作系统吗?

小智

华为 鸿蒙 操作系统

论文解读丨空洞卷积框架搜索

华为云开发者联盟

网络模型 目标检测算法 空洞卷积 卷积 空洞卷积框架

【译】JavaScript 代码整洁之道-复杂判断

KooFE

JavaScript 大前端 6月日更 整洁代码 条件判断

Consul场景用例:服务注册(Service discovery) & 服务网格(Service mesh)

awen

微服务 Consul Service Mesh 服务网格 服务注册与发现 服务网格

iOS上的CSS样式协议 VKCssProtocol

iOSer

CSS ios 移动开发 ios开发 VKCssProtocol

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