简体   繁体   English

Hbase是否为每个column-family或columnFamily:Column创建HFile?

[英]Does Hbase create a HFile for each column-family or columnFamily:Column?

I am trying to understand the Hbase architecture with respect to Logical data model vs Physical data storage. 我试图了解有关逻辑数据模型与物理数据存储的Hbase体系结构。 I am little confused about the HFile creation. 我对HFile的创建感到困惑。 If we have a column family with 2 columns, does Hbase create 2 HFiles or just one? 如果我们有一个包含2列的列族,那么Hbase是创建2个HFile还是仅创建1个?

Below is the diagram that I was looking and example below shows logical to physical mapping for each cf:col. 下面是我一直在查看的图,下面的示例显示了每个cf:col的逻辑到物理映射。 Please help me clear this confusion 请帮助我清除这种混乱

https://mapr.com/blog/hbase-and-mapr-db-designed-distribution-scale-and-speed/assets/blogimages/Logical-vs-physical-storage.png https://mapr.com/blog/hbase-and-mapr-db-designed-distribution-scale-and-speed/assets/blogimages/Logical-vs-physical-storage.png

HFiles are created on a column-family basis, so cf1:a and cf1:b would be stored in the same HFile if they are in the same region, but cf2:a would be in a different one. HFile是基于列族创建的,因此,如果cf1:acf1:b位于同一区域中,则它们将存储在同一HFile中,但是cf2:a将位于不同的区域中。

On the diagram Address:street and Address:city are both part of the Address column family and the data will end up in the same HFile. 在图上, Address:streetAddress:city都是Address列族的一部分,并且数据将最终存储在同一HFile中。

This is the same for the MemStore, so for each column family on a single RegionServer there will be a separate MemStore instance. 这与MemStore相同,因此对于单个RegionServer上的每个列族,将有一个单独的MemStore实例。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM