为什么hadoop使用hbase,即使hdfs可用于存储?
我们还可以将表数据存储为hdfs中的块。
数据是否存储在hbase中?如果是这样,那么角色将hdfs服务吗?
答案 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文件系统上构建的。