spark与hadoop之比较

ttvkxqim  于 2021-05-30  发布在  Hadoop
关注(0)|答案(1)|浏览(388)

我需要使用hadoop或spark编写大数据处理应用程序。我知道hadoopmapreduce是批处理应用程序的最佳技术,而spark是分析应用程序的最佳技术。应用程序将获得一个输入文件和几个配置文件。这个输入文件需要在配置文件的帮助下转换成输出文件。我们所调用的配置文件或转换规范具有从源文件到目标文件的逐列Map以及将特定单元格值转换为其他值的表达式等信息。我已经用mapreduce写了这个。输入可能包含百万/十亿条记录。现在利益相关者建议使用spark,因为他们觉得它比mapreduce快。但我认为spark不适合这种情况,因为它适合于分析应用程序,而不是批处理。另外,我在spark中只能看到类似于aggregate函数的api,找不到像mapreduce这样的按记录和按列读取/记录的内置api。请提出你的方法

unguejic

unguejic1#

你不是完全正确的。spark是一个很好的工具,但它还没有准备好供企业使用。spark在某些情况下甚至可以比hadoop快100倍,因为所有的数据都在内存中,并且需要应用一系列复杂的转换。如果这是典型的批处理案例,配置文件设置了一些平面逻辑,我建议您使用hadoop,因为使用spark不会获得太多性能提升。hadoop比spark成熟得多,容错性强,采用率高,没有bug。我会认为你是在一个安全的路线上,让hadoop集群与hdfs一起存储数据和Yarn,用java编写应用程序作为mapreduce作业,并在同一个集群上使用spark-你会在你的具体案例中看到差异,而不用付出太多努力

相关问题