我有一个关于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
吗?
我会,如果你给予的答案,这个例子更清楚的答案是非常赞赏: 我想乘VAL1和val2中的map/reduce。虽然val1和val2的被存储在数据库是这样的:'行= 00000柱族:M,m000001_1234567 = val1','行= 00000柱族:R,r000001_1234567 = val2'。我可以确保可以在同一个节点上访问val1和val2吗?因为它们都具有相同的键值1234567? – mmostajab
我无法在任何地方明确地发现这一点,但似乎一切似乎表明'TableMapper'类透明地为您处理数据局部性。我用你的问题的这一部分更新了我的答案,并添加了一些关于原始问题的更多细节和注意事项。 – Zoltan