大数据三分钟不入门之二: 一统江湖Spark

不入门之一介绍了大数据的编程语言,想必有心的读者已经hello world了python的世界。好的开始是成功的一半,这篇我们来聊聊大数据重量级的开源计算框架Apache Spark.

也许有读者犯嘀咕,为啥没提Hadoop。当然得提,聊大数据不说说Hadoop则名不正,言不顺。大数据这十多年来的持续火爆与开源计算框架Hadoop的发展息息相关。在某种程度上,Hadoop就是大数据,大数据就是Hadoop。Hadoop解决了什么问题,为何说它推动了大数据的发展?

举个例子,一根火腿肠,一个人一口一口咬着吃,这是单机操作。如果这根火腿肠100米长,最后这个人吃吐了,这就是存储和计算资源不足,内存溢出。换个人吧,还得吃到吐。如何更好更快的吃完这根大火腿肠呢?这里得感谢Google的一篇论文,激发了Yahoo工程师Doug Cutting的灵感,从而导致了Hadoop的应运而生。Hadoop里除了分布式存储外还实施了一个很重要的计算模型MapReduce。怎么理解它呢?回到吃火腿上,Doug从自己的名字获得启发,把这根火腿肠切成100份,然后在Yahoo社区发帖请来了100人,每人一段,免费吃。这样大火腿肠问题得到有效解决。同样的方法可以处理更长的火腿肠。大数据处理同样的道理。

如果说Hadoop是第一代分布式开源大数据计算框架,那么发源于伯克利的Spark则逐渐成为事实上的第二代。Spark也采用了MapReduce模型,不同的是,Hadoop的Map与Reduce界限简单粗暴,中间数据采用磁盘作为临时存储空间。而Spark的数据大部分时间都在内存中,减少了磁盘的读写,速度得到大幅提升。它的MapReduce模型更加通用一些,同时也提供了支持SQL  2003标准的查询引擎SparkSQL,这对很多会SQL的数据分析师来说简直是一大福音。咱也能用SQL在Spark上跑大数据了。

这些还谈不上一统江湖吧?机器学习和人工智能呢?图计算?支持实时流处理吗?如果使用Hadoop, 为了支持SQL得用Hive, 机器学习得用Mahout, 实时流处理得用Storm......版图越来越大,系统组件越来越多,出问题的可能性也越来越大。而这些功能居然都集成在Spark里,一个框架解决了好几个痛点。这也是为什么Spark能成为了当下大数据计算框架网红的重要原因之一。

潮起潮落,任何技术都有自己的辉煌和没落期,Spark正走向属于它的鼎盛时代。


大数据三分钟不入门之二: 一统江湖Spark_第1张图片
图片发自App

你可能感兴趣的:(大数据三分钟不入门之二: 一统江湖Spark)