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的统一,这不能成为自己全身心去投入的事情。

目录
相关文章
|
3月前
|
存储 分布式计算 监控
Spark如何优化?需要注意哪些方面?
【10月更文挑战第10天】Spark如何优化?需要注意哪些方面?
59 6
|
5月前
|
分布式计算 大数据 Apache
跨越界限:当.NET遇上Apache Spark,大数据世界的新篇章如何谱写?
【8月更文挑战第28天】随着信息时代的发展,大数据已成为推动企业决策、科研与技术创新的关键力量。Apache Spark凭借其卓越的分布式计算能力和多功能数据处理特性,在大数据领域占据重要地位。然而,对于.NET开发者而言,如何在Spark生态中发挥自身优势成为一个新课题。为此,微软与Apache Spark社区共同推出了.NET for Apache Spark,使开发者能用C#、F#等语言编写Spark应用,不仅保留了Spark的强大功能,还融合了.NET的强类型系统、丰富库支持及良好跨平台能力,极大地降低了学习门槛并拓展了.NET的应用范围。
109 3
|
5月前
|
存储 分布式计算 供应链
Spark在供应链核算中应用问题之通过Spark UI进行任务优化如何解决
Spark在供应链核算中应用问题之通过Spark UI进行任务优化如何解决
|
分布式计算 Spark
【Spark 调优】Spark 开发调优的十大原则
【Spark 调优】Spark 开发调优的十大原则
214 0
【Spark 调优】Spark 开发调优的十大原则
|
SQL 机器学习/深度学习 分布式计算
Spark通识
Apache Spark是一种快速、通用、可扩展、可容错的、基于内存迭代计算的大数据分析引擎。首先强调一点, Spark目前是一个处理数据的计算引擎, 不做存储。首先咱们通过一张图来看看目前Spark生态圈都包括哪些核心组件:
Spark通识
|
存储 缓存 分布式计算
Spark修炼之道(进阶篇)——Spark入门到精通:第十四节 Spark Streaming 缓存、Checkpoint机制
作者:周志湖 微信号:zhouzhihubeyond 主要内容 本节内容基于官方文档:http://spark.apache.org/docs/latest/streaming-programming-guide.html Spark Stream 缓存 Checkpoint 案例 1. Spark Stream 缓存 通过前面一系列的课程介绍,我们知道DS
4868 0
|
分布式计算 大数据 Scala
想成为云计算大数据Spark高手,看这里!
Spark采用一个统一的技术堆栈解决了云计算大数据的如流处理、图技术、机器学习、NoSQL查询等方面的所有核心问题,具有完善的生态系统,这直接奠定了其一统云计算大数据领域的霸主地位。
1393 0
|
存储 分布式计算 Java
Spark初窥
标签(空格分隔): Spark [toc] intro dataset和operation Spark对数据集合的基本抽象叫做Dataset。Dataset可以从文件直接创建,也可以从其他dataset经过transform变换而来。
1492 0
|
SQL 分布式计算 大数据
SparkSQL在有赞的实践
作者: 邹晨俊 有赞大数据离线计算负责人 本文介绍了SparkSQL在有赞数据仓库的实践,以及离线任务从Hive向SparkSQL迁移的一些经验
8529 0