Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hadoop Hbase在哪里存储数据?_Hadoop_Hbase_Hadoop2_Hortonworks Data Platform_Nosql - Fatal编程技术网

Hadoop Hbase在哪里存储数据?

Hadoop Hbase在哪里存储数据?,hadoop,hbase,hadoop2,hortonworks-data-platform,nosql,Hadoop,Hbase,Hadoop2,Hortonworks Data Platform,Nosql,我是HBase的新手。目前我正在使用hortonworks沙盒hdp2。在学习Hbase时,我遇到了一些问题 hbase在哪里存储数据 如果它存储在HDFS上,那么它是如何执行更新操作的,因为HDFS是一次写入,多次读取 默认情况下,Hbase将数据存储在HDFS中。可以在其他分布式文件系统(如AmazonS3、GFS等)上运行HBase。我们不能编辑hdfs,但可以将数据附加到hdfs。HDFS支持追加功能 HBase使用HFile作为格式来存储HDFS上的表。HFile使用行键按字典顺序存储

我是HBase的新手。目前我正在使用hortonworks沙盒hdp2。在学习Hbase时,我遇到了一些问题

  • hbase在哪里存储数据

  • 如果它存储在HDFS上,那么它是如何执行更新操作的,因为HDFS是一次写入,多次读取


  • 默认情况下,Hbase将数据存储在HDFS中。可以在其他分布式文件系统(如AmazonS3、GFS等)上运行HBase。我们不能编辑hdfs,但可以将数据附加到hdfs。HDFS支持追加功能

    HBase使用HFile作为格式来存储HDFS上的表。HFile使用行键按字典顺序存储键。它是一种用于存储键值对的块索引文件格式。块索引是指数据按块序列存储,并在文件末尾保留一个单独的索引以定位块。当出现读取请求时,将在索引中搜索块位置。然后从该块读取数据

    Regionserver在memcache中维护表更新的内存副本。内存中的副本会定期刷新到光盘。HBase表的更新存储在存储重做记录的HLog文件中。在区域恢复的情况下,这些日志将应用于最后提交的HFile,并重建表的内存映像。重建后,将内存中的副本刷新到光盘,以便光盘副本是最新的


    Hbase保留更新的版本。早期版本将与最新版本一起保留。默认情况下,保留的版本数为3。这是一个新的副本,在您执行更新时将被保存。

    太好了,谢谢。您的意思是,它创建了数据的新副本,我们称之为version right?,但当它超过版本限制时,它会覆盖最新的版本值。那么我们怎么说它是附加值呢。