速来报名!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:272683
用户头像

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

关注

评论 2 条评论

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

Bi Token质押挖矿软件系统开发方案

INS视频怎么保存 (2021最新图文教程)

资源君

方法 经验分享 教程 资源分享 Instagram

Redis入门六:集群

打工人!

redis 缓存穿透 缓存击穿 缓存雪崩 redis集群

在C++中,你真的会用new吗?

华为云开发者联盟

c++ 内存 new new operator operator new

中国大学MOOC Android 客户端开发提效之页面信息

有道技术团队

android 服务端 客户端

Tubacle挖矿系统APP开发搭建

工程师必知的代码重构指南

百度开发者中心

代码重构

MongoDB磁盘清理那些事儿

循环智能

mongodb 集群 主从 GridFS 磁盘清理

百度关于微前端架构EMP的探索:落地生产可用的微前端架构

百度开发者中心

百度 大前端

DOLLAR CAT/Dcat币挖矿系统开发

Ipfs矿机收入如何?IPFS矿机一天收益多少?

区块链 数字货币 IPFS

Redis入门七:分布式锁

打工人!

redis 分布式锁 redis分布式锁

阿凡达公链AC系统APP开发

前几年写的自己团队管理内容,如果你想做研发管理,可以看一下

安宇|Way

管理 考核 团队 文化 价值观

革故鼎新:企业数字化转型繁荣互联网生态建设,驱动ICT设施升级

科技热闻

大佬讲【暴力破解】漏洞的原理、利用和防范

网络安全学海

网络安全 安全 信息安全 漏洞 漏洞修复

话题王者第三季,舍我其谁~

InfoQ写作社区官方

话题讨论 热门活动

「腾讯面试题」兔子试毒

Java架构师迁哥

缘起短视频APP系统开发介绍

分布式图计算引擎

6979阿强

分布式计算 图计算

覆盖80%以上Java性能调优场景,三年开发经验以下慎入

Java架构师迁哥

企业资产数据大屏,打破固有管理思维僵局,杜绝资产无效流失

一只数据鲸鱼

数据可视化 资产管理 金融资产 金融大屏

BTQQ挖矿/比特全球/BT全球系统APP开发简介

腾云视界APP开发|腾云视界软件系统开发

区块链的正确应用方式与前景

CECBC

蜜蜂圈软件开发|蜜蜂圈APP系统开发

看CarbonData如何用四招助力Apache Spark

华为云开发者联盟

spark Apache Spark ACID CarbonData 分布式集群计算框架

火艺极速版短视频系统APP开发搭建

☕️【Java技术之旅】【ConcurrentHashMap】深入浅出核心源码分析(JDK1.8版本)

洛神灬殇

Java 源码分析 ConcurrentHashMap 6月日更

CloudQuery 使用教程之 No.3 数据查询(中)

BinTools图尔兹

云计算 dba 开发运维 数据库管控工具 国产数据控

你不知道的 Linux 使用技巧

学神来啦

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