在HBase中如何进行数据读取?

时间:2019-06-21 05:46:11

标签: hadoop hbase

我们知道HBase已部署在Hadoop和HDFS之上。另外,我们知道当我们想从HDFS读取文件(或记录)时,使用HDFS CLI需要花费大量时间。

但是即使HBase使用HDFS,它也能够在几毫秒内读取密钥。这是怎么发生的?

1 个答案:

答案 0 :(得分:1)

我认为原因包括:

  1. 数据被拆分到不同的区域服务器。客户端可以获得 从META表中选择Region Server,并直接与HBase Region Server通信。
  2. 区域服务器与HDFS DataNode并置,从而启用 的数据位置(将数据放在需要的地方) 区域服务器提供的数据。
  3. HFile包含一个多层索引,该索引允许HBase查找 数据,而不必读取整个文件。
  4. 如果可以将
  5. HBase首先从BlockCache和MemStore中读取 HBase在BlockCache或MemStore中找到,不需要读取HFiles 来自HDFS。