hadoop v/sSpark澄清

wpcxdonn  于 2021-06-01  发布在  Hadoop
关注(0)|答案(2)|浏览(385)

我正在学习hadoop和spark,但我陷入了一个疑问。请帮我澄清一下。
hadoop读取hdfs(硬盘)并处理内存中的数据,然后将生成的输出写回hdfs(硬盘)。如果我错了,请纠正我。
sparks还将从硬盘读取数据(如果不是第一次,它可能在哪里?),并将这些数据填充到rdd(在内存中创建)中,然后进行处理,如果不需要进一步处理,则稍后将数据写入硬盘。在spark中,可以创建多个rdd来处理不同类型的数据处理。这些RDD可以相互作用。如果我错了,请纠正我。
建议使用spark进行实时处理。为什么?hadoop不能做同样的事情吗?因为最后,源和目标都是硬盘(如果还有其他情况,请分享)。在hadoop中,我不能创建类似rdd的概念,但是我可以扩展我的代码,它可以做与多个rdd相同的事情
请分享你对我想法的看法,无论我错在哪里,请纠正我。

whhtz7ly

whhtz7ly1#

因为最终,源和目标都是硬盘。
当然,但不一定是hdfs硬盘。可以是mysql服务器或kafka代理。
建议使用spark进行实时处理。为什么?hadoop不能做同样的事情吗?
首先,hadoop不是一个处理引擎—yarn提供了作业处理的抽象,许多应用程序都在yarn上运行。包括flink、storm/heron,它们是较少被引用的(不知道为什么?)实际的实时流媒体平台(通常由kafka加载,而不是hadoop)。spark的“小批量”处理时间最短为几秒,而其他框架的处理时间甚至更小
在hadoop中,我不能创建类似rdd的概念
rdd是spark的概念,spark利用hadoop库来执行它的任务,所以这个语句是错误的。
如果您的意思是不能创建延迟计算的操作,那么您可能需要查看pig,它还创建了一个dag执行计划,该计划仅在执行操作时计算。很像rdd(或Dataframe)是如何相互作用的。
sparks也会从硬盘上读取数据(在第一时间它可能在哪里?)
假设你指的是hdfs硬盘,替代品可能是本地文件系统、s3、kafka,如前所述,或sql数据库、mongo、elasticsearch等。hadoop只是一个可能存在数据的地方,spark可以读取数据。

7ivaypg9

7ivaypg92#

spark和hadoop是不等价的。rdd是一个纯粹来自spark框架的概念,它可以Maphdfs中排序的文件。spark可以进行处理,但永远不会写入磁盘,就像一种传输手段。
hadoop符合hdfs plus-yarn。hdfs的目标是利用磁盘提供分布式存储,而yarn使您能够使用基础结构来处理ram。spark可以同时访问它们。
我认为您至少需要举两个例子来理解spark和hadoop的关系:
安装hadoop集群
执行spark wordcount示例

相关问题