spark怎么调用hadoop_五分钟零基础介绍 Spark

a24c4c590e84a99e281dd49cde20f870.png

我相信每个人都听说过Spark,这是新一代的大数据处理框架,将不再被解雇。神圣的火花是什么?为什么有取代Hadoop的强烈趋势?火花在内部如何工作?我们将通过几篇文章逐一介绍它们。

ceadc61ed271468969113f33e32bed8b.png

Hadoop:我不想知道我是怎么来到这里的。我只想知道我怎么没到那儿?

从Hadoop的用于处理海量数据的体系结构开始,Hadoop作业通常如下所示:

从HDFS读取输入数据;

在映射阶段,使用用户定义的映射器功能,然后将结果写入磁盘。

在缩小阶段,从地图阶段的每台机器读取地图计算的中间结果,并使用用户定义的缩小功能。通常,将结果写回HDFS。

我不知道您是否注意到Hadoop作业已多次读写磁盘,例如写入机器的本地磁盘或写入分布式文件系统(此过程包括磁盘读写和网络传输)。考虑到磁盘读取要比内存读取慢几个数量级,因此像Hadoop这样高度依赖磁盘读写的体系结构必然会出现性能瓶颈。

在实际应用中,我们通常需要设计复杂的算法来处理海量数据。例如,Google爬网索引排名的前提不是Hadoop工作。再例如,在机器学习领域中,迭代方法被广泛用于训练机器学习模型。例如,Hadoop的基本模型仅包括映射和简化阶段。如果要完成复杂的操作,则需要拆分无数个单独的Hadoop作业。而且,每个Hadoop作业都是一个主要的磁盘读写器,这使得Hadoop似乎无法做自己想要的事情。

随着行业越来越大地使用大数据,我们都需要一个更强大的处理框架来真正解决更复杂的大数据问题。

星火诞生

2009年,加利福尼亚大学伯克利分校的实验室设计并开发了一个名为spark的大数据处理框架。顾名思义,spark就像是草原之火,迅速占领了大数据处理框架市场。

完美的表现

Spark不像Hadoop那样使用磁盘读写,而是使用性能更高的内存来存储输入数据,处理中间结果以及存储最终结果。在大数据的情况下,许多计算具有循环特征。像spark一样,它允许将输入和输出缓存在内存中,上一个作业的结果可以立即用于下一个作业。自然,性能要比Hadoop MapReduce好得多。

同样重要的是,spark提供了更灵活和可用的数据操作,例如过滤,联合,连接以及对键值对的各种便捷操作。它甚至为用户提供了一个通用界面,供用户根据自己的需求开发定制的数据操作。

此外,spark本身还开发了流处理框架spark流,SQL处理框架数据帧,机器学习库mllib和图形处理库graphx。它是如此强大和开放,以至于随处可见基于火花的操作。

Hadoop MapReduce为什么不使用内存存储?如果我们选择依赖HDFS,难道不会给后来者一个机会吗?

历史原因。最初,MapReduce选择了磁盘。除了确保数据存储安全性外,更重要的是,当时,为企业数据中心购买大规模内存的成本非常高,并且选择基于内存的体系结构并不现实。现在Spark真的赶上了美好时光。企业可以轻松地部署多台大型内存计算机,并且内存足够大,可以加载所有要处理的数据。

而且,在过去的两年中,机器学习算法变得越来越丰富和成熟,可以真正为企业解决问题。当企业想要使用大数据处理框架时,是否可以使用火花并获得强大的支持?还是要提高Hadoop的性能和多功能性?显然是前者。

基于上述原因,火花如此受欢迎并不奇怪。

只要将Hadoop MapReduce转换为基于内存的体系结构,会不会解决?听起来好像没有本质的改变。MapReduce确定map和reduce的两个操作,以及两者之间的改组数据处理工作。无论Hadoop计算多么灵活,您都必须遵循Map> shuffle> reduce的路径。为了支持各种操作并优化性能,它并不像更改存储介质那么简单。 Amplab经过精心设计,使各种数据处理变得容易。

在今天的文章中,我们比较了Hadoop和Spark之间的差异,以及Spark的诞生和生态环境。 实际上,spark具有很多设计上的细微之处。 接下来,我们的系列文章将继续介绍spark的内部细节。 我们欢迎您持续关注。


转自知乎

原文链接:https://zhuanlan.zhihu.com/p/20305882

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值