本篇分享来自Martei在Spark AI Submit 2020的开场分享。

马铁是谁

什么!你不知道马铁是谁?Martei Zaharia(说实话,不知道谁给起的中文名字叫马铁,跟着叫就是了),现任Databricks的CTO,也许Databricks你也不是很熟,Spark总是听过的吧?可以说Spark就出自Martei之手,项目开源后组了个公司专门基于Spark提供企业服务。

来自马铁大神的Spark10年回忆录-LMLPHP

先来看看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相关:

来自马铁大神的Spark10年回忆录-LMLPHP

最主要的特性有:

  • 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的生态

来自马铁大神的Spark10年回忆录-LMLPHP

比如:

  • 1 基于pandas API调用Spark的Koalas
  • 2 支持批流一体化的Delta Lake
  • 3 Sklearn、Hyperort、Joblib等基于Spark的分布式扩展方案
  • 4 用于大规模基因分析的GLOW
  • 5 用于GPU加速的python库rapids
  • 6 用于可视化的tableau, qlik, looker, redash等

参考

最后关注公众号,可以直接观看文中视频,回复 learning spark 就可以获得对应的电子书。

07-28 05:55