Hadoop Mapreduce 可以实现什么?

What Hadoop Mapreduce can achieve?

正在阅读Hadoop mapreduce教程,得出以下浅薄的认识。谁能帮忙确认一下我的理解是否正确?

Mapreduce 是一种聚合数据的方法

产生与使用 SQL 聚合函数在 RDBMS 中完成的结果类似的结果

select count, sum, max, min, avg, k2 
  from input_file
 group by k2

Mapreduce 作业可以 combined/nested 就像 SQL 语句可以嵌套以产生复杂的聚合输出一样。

对吗?

在 Hadoop 之上使用 Hive,MR 代码将由 HiveQL Process Engine 生成。 因此,从编码的角度来看,使用 Java 的 MR 编码将逐渐被高级 HiveQL 取代。 是真的吗?

查看此 post 以比较 RDBMS 和

1.与 RDBMS 不同,Hadoop 可以处理 Peta 字节的数据,这些数据分布在使用商用硬件的数千个节点上。 Map reduce算法的效率取决于数据处理过程中的数据局部性。

2.RDBMS只能处理结构化数据不像Hadoop,它可以处理结构化、非结构化和半结构化数据。

您对聚合、分组和分区的理解是正确的。

您提供的示例仅用于处理结构化数据。

HiveQL 正在转换为一系列 Map reduce 作业。在性能方面,与原始 Map reduce 作业相比,HiveQL 作业会更慢。如上所述,HiveQL 无法处理所有类型的数据,因此它无法用 java 代码替换 Map reduce 作业。

HiveQL 将与其他语言的 Map Reduce 作业共存。 如果您正在寻找性能作为 map reduce 作业的关键标准,您必须考虑 Java Map Reduce 作业作为替代方案。如果您正在寻找半结构化和非结构化数据的 Map reduce 作业,则必须考虑 Hive QL map reduce 作业的替代方案。