Spark之殇

简介: 一个开源产品,用户才是自己的最关键的。用户只关注了一个新的版本有什么新的功能,解决了老的什么痛点,并且提高了多少稳定性和速度,如此而已。至于内核的重构,API的统一,这不能成为自己全身心去投入的事情。
我觉得Spark有时候会伤害用户。

之前Spark 2.0 刚发布不久后的第一个小版本,Structured Streaming 终于支持Kafka了,但是只支持Kafka 1.0 而不支持Kafka 0.8。用Spark的开发可是没办法决定基础设施Kafka的版本的,而且你知道在一个业务成熟的公司更换这种如此重要的基础设置的版本的阻力和风险有多大么?这简直让我们这些渴望能体验Spark新功能的痛心疾首。

接着为了推动大家迁移到Scala 2.11 版本而不再提供基于scala 2.10预编译的Assembly包,要知道,这会给使用spark的公司会带来的很大的困难。本来用Spark就是因为便于编程,功能强大,但是有多少程序员有能力自己去编译? 公司累积了一堆的2.10的库难道都因为为了体验下2.0版本而要重新编译?

我只是觉得Spark不是为我等欢快的工作而努力,而是为了他们的技术追求和审美的强迫症而努力。或许这是技术人员难以逾越的坑吧

Spark 过于专注他所谓的架构,忽略了对用户问题的解决。为了所谓的统一(DataFrame API)导致公司精力都放在了内核的重构上,这也直接让Spark在很多方面慢了一大拍.


曾经机器学习的新星,现在没落了

原本对机器学习库我是抱以厚望的,然而其算法和功能都相对来说很贫乏,并且一直没有得到质的提升。Spark 团队将其主要精力放在了API的简化尤其是DataFrame的统一上,让其错过了16年深度学习崛起的年代,终于沦为一个普通的带算法的计算框架上了。


曾经的全平台,现在只有批处理还有优势

对流式的支持也是磕磕盼盼,要知道,流式已经是大势所趋。相对于原先的Spark Streaming, Structure Streaming 带来了很多新概念,但是本质没有什么变化,只是强迫症患者的一个强迫而已(要使用Dataframe)。Spark Streaming 足够灵活,就是问题比较多。你新的Structure Streaming 还把追加,写入等各种拆分开了,学习曲线陡然上身。因为执着于RDD概念,没有勇气打破Spark的基石,一直无法实现真正的流式,倒是给了Flink巨大的机会。同样的,也让Storm一直活得很潇洒。新的Structure Streaming不行,但是他们似乎已然放弃Spark Streaming的努力,包括从Spark Streaming诞生就被广受吐槽的checkpoint 问题,也从来没有得到关注,也没有得到改善。让你带着爱被虐着,然后就眼睁睁的看着流式时代在自己的眼皮底下流过。


有望成为SQL的新标准,现在依然丧失

SQL的支持也是磕磕盼盼,到现在还还没覆盖Hive SQL的大部分功能,Hive 已然是大数据SQL的事实标准,又想摆脱Hive,我原先很赞赏Spark的做法,因为hive确实重啊,结果 1.6 里一些基础UADF都不支持。。。。很多情况其实没办法用的。而新的版本2.0对SQL支持好了很多,结果前面各种问题限制你使用。


感想
我觉得一个开源产品,用户才是自己的最关键的。用户只关注了一个新的版本有什么新的功能,解决了老的什么痛点,并且提高了多少稳定性和速度,如此而已。至于内核的重构,API的统一,这不能成为自己全身心去投入的事情。

目录
相关文章
|
SQL 机器学习/深度学习 分布式计算
Apache Spark 3.0:十年回顾,展望未来
今年是Spark发布的第十年,回顾Spark如何一步步发展到今天,其发展过程所积累的经验,以及这些经验对Spark未来发展的启发,对Spark大有脾益。在7月4日的Spark+AI SUMMIT 2020中文精华版线上峰会上,Databricks Spark研发部主管李潇带来了《Apache Spark 3.0简介:回顾过去的十年,并展望未来》的全面解析,为大家介绍了Spark的起源、发展过程及最新进展,同时展望了Spark的未来。
8014 0
Apache Spark 3.0:十年回顾,展望未来
|
SQL 机器学习/深度学习 分布式计算
Spark通识
Apache Spark是一种快速、通用、可扩展、可容错的、基于内存迭代计算的大数据分析引擎。首先强调一点, Spark目前是一个处理数据的计算引擎, 不做存储。首先咱们通过一张图来看看目前Spark生态圈都包括哪些核心组件:
Spark通识
|
存储 分布式计算 大数据
Spark初窥
标签(空格分隔): Spark [toc] intro dataset和operation Spark对数据集合的基本抽象叫做Dataset。Dataset可以从文件直接创建,也可以从其他dataset经过transform变换而来。
1458 0
|
分布式计算 Hadoop 数据挖掘
《Spark与Hadoop大数据分析》——1.5 小结
本节书摘来自华章计算机《Spark与Hadoop大数据分析》一书中的第1章,第1.5节,作者 [美]文卡特·安卡姆(Venkat Ankam),译 吴今朝,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1319 0
|
存储 分布式计算 大数据
《Spark与Hadoop大数据分析》——2.5 小结
本节书摘来自华章计算机《Spark与Hadoop大数据分析》一书中的第2章,第2.5节,作者 [美]文卡特·安卡姆(Venkat Ankam),译 吴今朝,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1280 0
|
分布式计算 Hadoop Spark
《Spark与Hadoop大数据分析》——3.7 小结
本节书摘来自华章计算机《Spark与Hadoop大数据分析》一书中的第3章,第3.7节,作者 [美]文卡特·安卡姆(Venkat Ankam),译 吴今朝,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1085 0