hadoop - 是否所有具有相同行键的数据都存储在同一个节点中?

标签 hadoop mapreduce hbase

我有一个关于 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 的同一节点中可以访问 val1val2

最佳答案

正如您可能知道的那样,它实际上是 HFile,它存储了实际的键值数据,并且它将分布在数据节点上。 zookeeper/HLog/Memestore 帮助定位 rowkey 数据并检索它。

Key-value 存储将被分组并存储在每个节点中,假设键 [A-L] 进入一个节点,其余 [M-z] 进入另一个节点,考虑 2 节点场景。

enter image description here

enter image description here

enter image description here

关于hadoop - 是否所有具有相同行键的数据都存储在同一个节点中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39496222/

相关文章:

java - Storm Trident中的批处理大小

php - Hadoop流式PHP环境变量

java - 如何使用自定义jar覆盖现有的jar配置

hadoop - outputcollector如何工作?

Hadoop 0.2 : How to read outputs from TextOutputFormat?

java - 如何在 Hadoop 中自定义 Writable 类?

hadoop - HBase中筛选查询的性能?

hadoop - 表格编程

hadoop - Spark 插入到 Hbase

java - 在Debian中的单个节点中的hadoop,hbase,zookerper中的安装问题