今天是2019年,要是有谁说有十年大数据工作经验,我是不信的。因为 spark 正式应用才多少年?看过下面文章的你,应该就知道了,2012 年移交 apache spark, 就算他是 spark 的 committer, 满打满算才 7 年。
如果是 2006 年 hadoop 一代长老呢,那肯定有 10 年大数据经验了,但依然只能说是半吊子的大数据工程师,因为真正有实时大数据平台的年代,要从 2012 年 apache spark 正式推出算起。
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 都好的提供了解决方案,那么它不红,都没理由了!
贵阳seo优化:网站怎么设计才对搜索引擎友好网站制作中内容的重要性如何提高百度指数,具体应该怎么做?网站服务器配置之Windows安装iis+php+mysql环境网站建设抢占市场的法宝:实力一英寸是多少厘米北京网站建设完成以后每年费用是多少?如何为您的商业网站选择合适的电话号码