为什么hbase即使hdfs存在

时间:2015-04-27 13:02:55

标签: hadoop hadoop-streaming hadoop2 hadoop-partitioning

为什么hadoop使用hbase,即使hdfs可用于存储?

我们还可以将表数据存储为hdfs中的块。

数据是否存储在hbase中?如果是这样,那么角色将hdfs服务吗?

2 个答案:

答案 0 :(得分:1)

HDFS是一种分布式文件系统,非常适合存储大型文件。它旨在支持批量处理数据,但不提供快速的单个记录查找。

HBase建立在HDFS之上,实际上数据存储在HDFS上,旨在提供对大型表中单行数据的访问。

总的来说,HDFS和HBase之间的区别是

HDFS -

Is suited for High Latency operations batch processing
Data is primarily accessed through MapReduce
Is designed for batch processing and hence doesn’t have a concept of random reads/writes

HBase -

Is built for Low Latency operations
Provides access to single rows from billions of records
Data is accessed through shell commands, Client APIs in Java, REST, Avro or Thrift 

答案 1 :(得分:0)

Hadoop可以使用HDFS以及HBase。您需要查看文件系统(HDFS)和数据库(HBase)之间的区别,与普通文件系统相比,它提供了许多功能(例如随机访问数据)。

在这两种情况下都需要运行HDFS,因为HBase是在顶级HDFS文件系统上构建的。