来自马铁大神的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的,每每遇到新事物,都不会处理 ...
随机推荐
- 在MFC下绘制直线,使用橡皮筋技术,可以使直线效果跟随鼠标移
void CGraphic1View::OnMouseMove(UINT nFlags, CPoint point) { if(MK_LBUTTON == nFlags) { ...
- 为什么总是无法访问VMware内的web服务?
除了防火墙的设置,很可能时因为你的Web服务监听的时127.0.0.1地址,构成了本机回环,只能本机访问的原因. 启动服务的时候可以尝试指定hostname为0.0.0.0或者你想监听的IP地址. [ ...
- .net core Web API参数绑定规则
参数推理绑定 先从一个问题说起,微信小程序按照WebAPI定义的参数传递,Get请求服务器端可以正常接收到参数,但是Post请求取不到. Web API代码(.netcore 3.1)如下: [Htt ...
- Spring IoC bean 的初始化
前言 本系列全部基于 Spring 5.2.2.BUILD-SNAPSHOT 版本.因为 Spring 整个体系太过于庞大,所以只会进行关键部分的源码解析. 本篇文章主要介绍 Spring IoC 容 ...
- axure8.0实现tab切换
这两天帮忙做产品原型图,tab切换做一次忘一次,这次索性记录一下,免得下次再忘了. 1.在元件库中拉出来一个动态面板,双击动态面板,添加状态,添加完成之后,点击红色标注的地方,开始编辑每个面板状态: ...
- flex布局语法+实例
一.什么是flex布局 flex 是 flexible box 的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性. 任何一个容器都可以指定为 flex 布局.你可以将前端页 ...
- Face the right way(反转问题,思维题)
Farmer John has arranged his N (1 ≤ N ≤ 5,000) cows in a row and many of them are facing forward, li ...
- BZOJ1294 洛谷P2566 状态压缩DP 围豆豆
传送门 题目描述 是不是平时在手机里玩吃豆豆游戏玩腻了呢?最近MOKIA手机上推出了一种新的围豆豆游戏,大家一起来试一试吧游戏的规则非常简单,在一个N×M的矩阵方格内分布着D颗豆子,每颗豆有不同的分值 ...
- 重学 Java 设计模式:实战访问者模式「模拟家长与校长,对学生和老师的不同视角信息的访问场景」
作者:小傅哥 博客:https://bugstack.cn - 原创系列专题文章 沉淀.分享.成长,让自己和他人都能有所收获! 一.前言 能力,是你前行的最大保障 年龄会不断的增长,但是什么才能让你不 ...
- Scala 面向对象(七):静态属性和静态方法
1 Scala中静态的概念-伴生对象 Scala语言是完全面向对象(万物皆对象)的语言,所以并没有静态的操作(即在Scala中没有静态的概念). 但是为了能够和Java语言交互(因为Java中有静态概 ...