前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >为什么 Spark 在数据科学界这么红?

为什么 Spark 在数据科学界这么红?

作者头像
Lenis
发布2019-12-25 22:10:01
9030
发布2019-12-25 22:10:01
举报
文章被收录于专栏:有关SQL

Spark 是 Apache 的顶级项目,一举一动都在整个社区的瞩目之下。凡是由 Apache 推动的项目,自然大概率是比较成功的。回想 Google 当年没将 Big Table, Map Reduce, GFS 及时的推广到 Apache 落地,反而被后来者 Hadoop 夺得了头魁,甚为惋惜。想知道Google 错过这段好时机,可以看我的这篇文章《继蚂蚁金服OceanBase之后,腾讯也祭出了大杀技

最初时,Spark 孵化于加利福尼亚大学(University of California) 伯克利分校(Berkeley)的大数据实验室( AMPLab).说起这个实验室,还有两个巨头产品, Apache Mesos 和 Alluxio. 看官可能对这两产品不是很了解,没关系,这里也不打算讲,以后再细说。

2006 年, Hadoop 基于 Google 的三驾马车,先于 GCP 而被世人所知。除了分布式存储扩充了商业关系型数据库的存储容量外,Map Reduce 更是一大创举,让分布式计算取得了开创新的进展。但 Map Reduce 的原理注定了它的致命缺陷,中间数据集要存盘,以致于丢失了性能上的战略牌。被 Spark 的内存式弹性分布数据集(Resilient Distributed Dataset)捡了个漏。于是 Spark 于 2009 年横空出世,弥补了 Hadoop 性能上的缺陷,由此也抢到了一块市场。

Hadoop 本来被期望很高,直指机器学习与人工智能,科学家已经尝试在 Hadoop 上研发机器学习的软件库,但由于中间数据要存盘的这一致命缺陷,导致最终很多实时计算项目烂尾,而科学家们在另外一个项目,叫做 Mesos(分布式集群管理) 上取得长足进展,索性在 Mesos 上建立 Spark(分布式计算) 来替代 Hadoop.

由此可见,Hadoop 之所以会被 Spark 打败,完全是市场新兴的诉求(机器学习与人工智能)使然。Spark 的出生,就是为了解决机器学习的困境。

当然,说 Spark 打败 Hadoop 有些不严谨,就像说 Apple 的 iOS 打败 Google 的 Andriod 一样,两者是补充,满足了不同的市场需求而已。Spark 与 Hadoop 在应用场景上,只是互相补充罢了,毕竟实现 Spark 的硬件要求比 Hadoop 要高很多,成本也就不一样了。这些都是厂商不会直接告诉你的。

Hadoop 先于 Spark 3 年出世,那么做为 Spark 如何快速从 Hadoop 中夺取属于自己的市场呢?从头建立自己的分布式管理,还是利用 Hadoop 已有市场,与 Hadoop 兼容 ,只抛出自己的分布式计算引擎呢?很显然, 聪明人都会选后者,没必要从头建立一个轮子啊。所以很快的,社区对于 Spark 的接受也相当轻松。社区的推广在很大程度上也助推了 Spark 的应用铺货。

Spark 流行的基础原因说的差不多了,那再说点高级应用。软件发生到现在这个时间段,真不是哪家软件能解决某个问题而已了,而是哪家软件能提供一整套应用链,就用那家。所以开放性就决定了软件体系能走多远。

就跟编程语言一样的,原本的 Visual FoxPro, Visual Basic, Delphi 本是解决 MIS 系统的最有效编程工具,但随着 web, mobile 应用需求的出现,这些工具再也跟不上需求发展的步伐了,逐渐就被市场给抛弃了。

纵观 现在主流的编程语言,Java, Python, 哪一个不是包罗万象,既可以玩的了 C/S 传统开发,又驾驭的了 B/S 的潮流,甚至在 mobile 应用上也能对付。Spark 也一样,除了能玩转数据 CRUD(Create, Retrieve, Update, Delete), 更能匹配当下数据科学的潮流,比如批量,实时 ETL, 比如集成各种数据分析,数据挖掘的算法,高效的去完成机器学习。

Spark 在拥抱内存式分布计算的同时,顺应时势间接容纳了 Spark Streaming, Spark Machine Learning(MLlib)Spark SQL 和 Spark GraphX, 这些组件是当下互联网生态需求的大综合,可以说整个数据应用链,Spark 都完美的提供了解决方案,那么它不红,都没理由了!

参考文章:

http://blog.madhukaraphatak.com/history-of-spark/

https://medium.com/@chandanbaranwal/spark-streaming-vs-flink-vs-storm-vs-kafka-streams-vs-samza-choose-your-stream-processing-91ea3f04675b

https://www.quora.com/What-are-the-differences-between-Apache-Spark-and-Apache-Flink

https://en.wikipedia.org/wiki/Apache_Spark

End

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-11-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 有关SQL 微信公众号,前往查看

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

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

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