前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >写在 Spark3.0 发布之后的一篇随笔

写在 Spark3.0 发布之后的一篇随笔

作者头像
哒呵呵
发布2020-06-23 23:39:44
1.3K0
发布2020-06-23 23:39:44
举报
文章被收录于专栏:鸿的学习笔记鸿的学习笔记

Spark3.0 从2019年开始就说要准备发布了,然后就一直期待这个版本,毕竟对于 Spark 而言,这是一个大版本的跨越,从 2.4 直接到了 3.0,而之前发布都是 Spark2.0 到 Spark2.4 这种小版本的更新。按照 Databricks 博客的说法,这是一次“the culmination of tremendous contributions from the open-source community”(是开源社区有史以来贡献力度最大的一次)。事实上也是如此,最近发布的 Spark3.0 新特性没有让人失望。

关于 Spark3.0 具体的特性介绍和技术细节,感兴趣的话,可以参考这两篇文章:《Spark 3.0重磅发布!开发近两年,流、Python、SQL重大更新全面解读》和《Apache Spark 3.0.0 正式版终于发布了,重要特性全面解析》,如果想看原文的话,可以参考《Introducing Apache Spark 3.0:Now available in Databricks Runtime 7.0》。链接放在文末的参考资料。

为什么会这么关注 Spark 新版本的发布呢?主要是因为现在大数据技术领域,基本上是 Spark 形成了一家独大的局面,基本上做大数据处理的公司和个人都用过 Spark,即使没有用过,也至少听过。这次的 Spark3.0 的开发开源社区参与得如此之多,因此在某种意义上,Spark 新特性的发布代表着开源社区对未来技术发展趋势的看法,可能开源社区有些大了,那至少也代表着 Databricks 公司对未来技术发展趋势的看法。

从 Spark3.0 补丁分布图来看,Spark SQL 和 Spark Core 加起来占据了62%的份额,而PySpark 占据了7%的份额,超过了 Mlib 的6%和 Structured Streaming 的4%。再结合 Databricks 博客里面关于新特性的讲解,透漏出三个趋势:

  • 在未来进行数据处理的编程语言,主流的还会是 SQL,SQL 难以处理的才会交给 Python 和 R 语言。
  • Spark 更加重视机器学习,而且花了大量精力在 PySpark 和 Koalas (一种基于 Apache Spark 的 Pandas API 实现)上,而不是自带的 Mlib。
  • 流计算在 Spark 里已经变成不受重视的一部分。

在日常使用 Spark 的过程中,Spark SQL 相对于 2.0 才发布的 Structured Streaming 流计算模块要成熟稳定的多,但是在 Spark3.0 ,Spark SQL 依然占据了最多的更新部分,并且还花了大精力引入了动态分区修剪(Dynamic Partition Pruning)、自适应查询执行(Adaptive Query Execution)、加速器感知调度(Accelerator-aware Scheduling)、支持 Catalog 的数据源 API(Data Source API with Catalog Supports)这些特性去增强 Spark SQL。毕竟数据处理过程中,SQL 才是永恒不变的王者。

而在国内炒的火热的流计算,作为大数据技术领域里的使用范围最广的 Spark3.0 反倒没有多少更新,而且更新的特性居然是关于 UI 的,而不是 Structured Streaming 本身。在某种意义上,我想 Spark 实际上已经没有将流计算看做未来趋势的一部分,或者说是,流计算实际上不需要那么多新特性,现有的就已经足够完成大部分的工作了。这点值得我们去深思。

Spark 把自己的 Submmit 改成了 Spark+AI,非要和 AI 扯上边,而且每一次的大更新都少不了关于机器学习的重磅更新,比如这次的 Hydrogen 项目(这是关于 Spark 使用 GPU 的项目,而 GPU 的使用是深度学习的关键)和 Koalas (有了 Koalas ,PySpark 可以伪装成 Pandas ,从而让最大限度的融合进现有 Python 社区,毕竟现在机器学习领域,用的最广泛的包都是和 Pandas 有关的)。而 R 语言在这次也引入了向量化计算,可以让使用 R 语言的人也能享受到 Spark 分布式计算带来的快。反观 Mlib 没有多少的更新,甚至在 Databricks 博客中都没有提及,表示这 Spark 正在努力融入 Python 和 R 语言构建的机器学习社区,而不是非要让数据分析师们强行学习 Spark ,尽可能地减少学习成本。

参考资料:

  • https://mp.weixin.qq.com/s/p62GpRieta1dhCI2pODODQ
  • https://mp.weixin.qq.com/s/R6XYCUIWDo19mXPybukAYw
  • https://databricks.com/blog/2020/06/18/introducing-apache-spark-3-0-now-available-in-databricks-runtime-7-0.html
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-06-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 鸿的笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档