我有一个关于 hbase 数据库的问题。我们首先通过定义行键、列族访问数据,最后通过列限定符访问数据。
我的问题是 HBase 是否会将具有相同行键的所有列族一起存储在一个节点中?
更新:例如,我想在 map/reduce 作业中乘以 val1 和 val2。而 val1 和 val2 在数据库中的存储方式如下:Row=00000 Column Family:M, m000001_1234567=val1
, Row=00000 Column Family: R, r000001_1234567=val2
。我能否确保在运行 map
的同一节点中可以访问 val1
和 val2
?
最佳答案
正如您可能知道的那样,它实际上是 HFile,它存储了实际的键值数据,并且它将分布在数据节点上。 zookeeper/HLog/Memestore 帮助定位 rowkey 数据并检索它。
Key-value 存储将被分组并存储在每个节点中,假设键 [A-L] 进入一个节点,其余 [M-z] 进入另一个节点,考虑 2 节点场景。
关于hadoop - 是否所有具有相同行键的数据都存储在同一个节点中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39496222/