来自马铁大神的Spark10年回忆录
本篇分享来自Martei在Spark AI Submit 2020的开场分享。
马铁是谁
什么!你不知道马铁是谁?Martei Zaharia(说实话,不知道谁给起的中文名字叫马铁,跟着叫就是了),现任Databricks的CTO,也许Databricks你也不是很熟,Spark总是听过的吧?可以说Spark就出自Martei之手,项目开源后组了个公司专门基于Spark提供企业服务。
先来看看Martei大神在LinkedIn的简历,你就知道他的背景有多牛了:
- 2003-2007,就读于滑铁卢大学(加拿大前三的大学)
- 2007-2012,就读于加州伯克利读博,其中07年在google实习3个月,08年在facebook实习一年.
- 2015-2016,在MIT麻省理工任副教授。
- 2016-至今,在斯坦福任副教授。
- 从09年开始加入Apache,成为hadoop的commiter,14年开始成为apache spark的VP,13年开始担任Databricks的CTO。
可以说想要学习现在最先进的分布式知识,follow下马铁的twitter就行了。
Spark的过去10年
回头再来说说本次的分享,显示回忆了Spark的发展历程,然后介绍了当前Spark 3.0的主要特性,介绍Spark相关的生态组件。中间有美女介绍了koalas的使用以及3.0相关的特性展示。最后Martei推荐了《Learning Spark》第二版这本书。最后展望Spark的未来表示会持续优化 Spark 在探索数据分析和生产应用上的易用性,丰富Spark生态体系。
- 2007年Martei攻读博士,主要的研究方向是p2p系统。
- 2008年在雅虎和facebook开始接触数据中心,涉及到分布式与大数据计算。可惜当时的分布式计算主要是依赖于MapReduce,编写困难,缺乏交互式的查询,也不支持机器学习。
- 2009回到伯克利开始研究分布式机器学习框架,开始了Spark相关的工作。
- 2010年开源了第一版的Spark。
- 2010-2011年针对社区的需求,开始了交互式查询、Streaming流处理、R和SQL API的支持等工作。
- 2012-2015年,丰富了Spark的生态,支持更多的API,比如Python、R、SQL;支持更多的组件库,如机器学习、图计算、流计算;支持更高级的API,比如DataFrame、Spark SQL等。
至今为止,有68%的用户在notebook中使用Python操作Spark;超过90%的API通过Spark SQL来执行。
总结过去的Spark开源10年历程,得到最大的经验就是:
- 1 产品的易用性,无论是数据探索还是生产应用
- 2 API的最佳实践,比如组件、测试、模块化。
Spark 3.0
最近Spark发布了3.0版本,超过3400多次升级特性,46%与SQL相关:

最主要的特性有:
- 1 AQE,自适应查询计划。比如动态调整分区数、动态调整join算法、自动处理数据倾斜问题
- 2 动态分区裁剪
- 3 编译器速度优化
- 4 优化器代码提示
- 5 ANSI SQL的支持
- 6 Python API的优化
- 7 R API的优化
- 8 新的流处理UI、更易用的流指标统计、SQL使用文档、Data Source V2 API、GPU加速等。
相关的特性再上一篇也有介绍过,详情前一篇文章:Spark 3.0 新特性
Spark的生态

比如:
- 1 基于pandas API调用Spark的Koalas
- 2 支持批流一体化的Delta Lake
- 3 Sklearn、Hyperort、Joblib等基于Spark的分布式扩展方案
- 4 用于大规模基因分析的GLOW
- 5 用于GPU加速的python库rapids
- 6 用于可视化的tableau, qlik, looker, redash等
参考
- Martei的LinkedIn:https://www.linkedin.com/in/mateizaharia/
最后关注公众号,可以直接观看文中视频,回复 learning spark 就可以获得对应的电子书。
来自马铁大神的Spark10年回忆录的更多相关文章
- css3 斜切角/斜边的实现方式来自BAT大神的出品
设计图含有斜切角的效果时,我们一般想到的方法是切出四个角为背景,然后用border连起来,这样就能显示出该效果了,那么直接使用css呢?下面就整理css做斜边的效果. 1.方案一:利用linear-g ...
- 对话机器学习大神Yoshua Bengio(上)
Yoshua Bengio教授(个人主页)是机器学习大神之一,尤其是在深度学习这个领域.他连同Geoff Hinton老先生以及 Yann LeCun(燕乐存)教授,缔造了2006年开始的深度学习复兴 ...
- 对话机器学习大神Yoshua Bengio(下)
对话机器学习大神Yoshua Bengio(下) Yoshua Bengio教授(个人主页)是机器学习大神之一,尤其是在深度学习这个领域.他连同Geoff Hinton老先生以及 Yann LeCun ...
- 为何你跟着滴滴D8级前端大神撸代码,技术却依旧原地踏步?
引子 听说最近有很多小伙伴,热衷于在慕课网上学习各种前端实战教程,并以完成项目为奋斗目标.比如本文接下来要提到的<Vue2.0高级实战之开发移动端音乐App>,这门课程的传授者是来自滴滴D ...
- 大神都在看的RxSwift 的完全入坑手册
大神都在看的RxSwift 的完全入坑手册 2015-09-24 18:25 CallMeWhy callmewhy 字号:T | T 我主要是通过项目里的 Rx.playground 进行学习和了解 ...
- AlexeyAB大神版yolo 待完善
目录 darknet优化经验 1. AlexeyAB改进项 2. Linux下编译选项 3. 训练经验 4. 提升检测效果 5. 总结 6. AlexeyAB大神改进 darknet优化经验 主要来自 ...
- darknet优化经验-AlexeyAB大神经验
目录 darknet优化经验 1. AlexeyAB改进项 2. Linux下编译选项 3. 训练经验 4. 提升检测效果 5. 总结 6. AlexeyAB大神改进 darknet优化经验 主要来自 ...
- 大神的P图过程!快来偷窥!
来自美国的艺术家James(@jameasons) 平时我们总是能看到一些大神合成出这样的图片, 但是他们P图的过程是怎样的,很多人都是不知道的. 接下来再看看这位大神的其他作品, 如果你看了上面视频 ...
- 【转】hurry_liu 大神STM32移植contiki入门之一:系统介绍和开发环境搭建
前言: 由于项目的原因,需要在LPC1788(STM32 cortex-M3)上面跑contiki. 之前没有涉及到contiki,不知其为何物.不过这个不是难事,做IT的,每每遇到新事物,都不会处理 ...
随机推荐
- 浅谈hash
hash 算法介绍 hash说得通俗一点,就是给一个变量编上一个马甲 比如说一个人聪明可爱,举世无双,天资聪慧.活泼机灵...,那么就是叫我了(真不要脸 但是这样是不是显得些许麻烦? 于是人类发明了名 ...
- Java 内存回收机制
当执行构造方法生成一个对象时,需要占用各种系统资源.当生成的对象不再使用时,就需要返回给操作系统,以免资源的泄露.在各种系统资源中,最常使用的就是内存.Java运行时系统通过垃圾收集周期性地释放无用对 ...
- Oracle查询dba_extents视图很慢
Oracle查询dba_extents视图很慢 问题描述 下边这条SQL查询每次大概要花1分钟左右,实在是比较异常. select owner,tablespace_name from dba_ext ...
- HDU - 5963 朋友(思维题)
题干 B君在围观一群男生和一群女生玩游戏,具体来说游戏是这样的: 给出一棵n个节点的树,这棵树的每条边有一个权值,这个权值只可能是0或1. 在一局游戏开始时,会确定一个节点作为根.接下来从女生开始,双 ...
- List的isEmpty与==null的区别
集合的判空一般判定方法 ArrayList<Person> list = null; System.out.println(null == list);//return true Syst ...
- 配置类需要标注@Configuration却不知原因?那这次就不能给你涨薪喽
专注Java领域分享.成长,拒绝浅尝辄止.关注公众号[BAT的乌托邦]开启专栏式学习,拒绝浅尝辄止.本文 https://www.yourbatman.cn 已收录,里面一并有Spring技术栈.My ...
- 全局作用域中,用 const 和 let 声明的变量不在 window 上,那到底在哪里?如何去获取?
在ES5中,顶层对象的属性和全局变量是等价的,var 命令和 function 命令声明的全局变量,自然也是顶层对象. var a = 12; function f(){}; console.log( ...
- 读《大话设计模式》——应用策略模式的"商场收银系统"(WinForm)
策略模式的结构 这个模式涉及到三个角色: 环境(Context)角色:持有一个 Strategy 类的引用.抽象策略(Strategy)角色:这是一个抽象角色,通常由一个接口或抽象类实现.此角色给出所 ...
- scrapy 基础组件专题(二):下载中间件
下载器中间件是介于Scrapy的request/response处理的钩子框架,是用于全局修改Scrapy request和response的一个轻量.底层的系统. 1.激活Downloader Mi ...
- 02 drf源码剖析之快速了解drf
02 drf源码剖析之快速了解drf 目录 02 drf源码剖析之快速了解drf 1. 什么是drf 2. 安装 3. 使用 3. DRF的应用场景 1. 什么是drf drf是一个基于django开 ...