MapReduce是一种在Hadoop上工作的模型,可以有效地访问存储在HDFS(Hadoop分布式文件系统)中的大数据。它是Hadoop的核心组件,它将大数据分成小块,并对其进行并行处理。
MapReduce的特点:
Hive是一个由Facebook发起的倡议,为MapReduce编程提供了一个传统的数据仓库接口。对于以SQL方式为MapReduce编写查询,Hive编译器在后台将其转换为在Hadoop集群中执行。它帮助程序员使用他们的SQL知识,而不是专注于开发一种新的语言。
Hive的特点:
S.No | MapReduce | Hive |
---|---|---|
1 | MapReduce是一种数据处理语言。 | Hive是一种类似SQL的查询语言。 |
2 | MapReduce将工作转换为map-reduce函数。 | Hive将SQL查询转换为HQL(Hive-QL)。 |
3 | MapReduce提供了低水平的抽象。 | Hive提供了高层次的抽象。 |
4 | 用户很难进行连接操作。 | Hive使用户很容易在HDFS上执行类似SQL的操作。 |
5 | 用户需要写10倍于Pig的代码来执行类似的任务。 | 与MapReduce相比,用户只需写几行代码。 |
6 | MapReduce有多个作业,因此执行时间较长。 | 代码执行时间更多,但开发工作更少。 |
7 | MapReduce被Hadoop的各个版本所支持。 | Hive也支持最近版本的Hadoop。 |