hbase数据结构模型

1,数据结构

  • hbase 表= multi-dimensional map (多维度的Map: kv对)
  • row: 一条数据记录
    row的结构如下:有序的存储(按rowkey的字典序, a->z )
    ( rowkey1: { 列组: {列名: “属性值”} } )

参考: https://dzone.com/articles/understanding-hbase-and-bigtab

hbase(main):014:0> scan 'test'
ROW          COLUMN+CELL                                                                                                                     
 a1          column=f:name, timestamp=1586779007598, value=name1                                                                             
 r1          column=f:name, timestamp=1586422233658, value=test                                                                              
2 row(s) in 0.0150 seconds


## 数据模型
  "rowkey1" : {
    "cf1" : {
      "name" : {
        1123123123112 : "lisi",
        1231243123312 : "lisi2"
      },
      "job" : {
        1512343252351 : "java-enginer"
      }
    },

    "cf2" : {
      "city" : {
        123461231 : "BeiJin"
      }
    }
  }

2,存储目录结构

## 0,hbase表的存储格式
[root@cdh-node1 ~]# hdfs dfs -ls /hbase/data/default/test
Found 3 items
drwxr-xr-x   - hbase hbase   0 2020-04-13 11:16 /hbase/data/default/test/.tabledesc #表的描述信息: desc tab1
drwxr-xr-x   - hbase hbase   0 2020-04-13 11:16 /hbase/data/default/test/.tmp #正常是空目录,除非compact,split
drwxr-xr-x   - hbase hbase   0 2020-04-13 11:16 /hbase/data/default/test/6d9cc1fc906d #表的regionfile/hstore/storefile

[root@cdh-node1 ~]# hdfs dfs -ls /hbase/data/default/test/6d9cc1fc906d
Found 4 items
-rw-r--r--   1 hbase hbase   39 2020-04-09 08:51 /hbase/data/default/test/6d9cc1fc906d/.regioninfo
drwxr-xr-x   - hbase hbase    0 2020-04-13 11:16 /hbase/data/default/test/6d9cc1fc906d/.tmp #正常是空目录
drwxr-xr-x   - hbase hbase    0 2020-04-13 11:16 /hbase/data/default/test/6d9cc1fc906d/f
drwxr-xr-x   - hbase hbase    0 2020-04-13 11:16 /hbase/data/default/test/6d9cc1fc906d/recovered.edits
[root@cdh-node1 ~]# hdfs dfs -ls /hbase/data/default/test/6d9cc1fc906d/.regioninfo
-rw-r--r--   1 hbase hbase         39 2020-04-09 08:51 /hbase/data/default/test/6d9cc1fc906d/.regioninfo
[root@cdh-node1 ~]# hdfs dfs -cat /hbase/data/default/test/6d9cc1fc906d/.regioninfo
PBUF�����.
defaulttest"(08

[root@cdh-node1 ~]# hdfs dfs -ls /hbase/data/default/test/6d9cc1fc906d/f
Found 1 items
-rw-r--r--   1 hbase hbase   994 2020-04-13 11:16 /hbase/data/default/test/6d9cc1fc906d/f/bd8f4d9313db49529bac5a6086871063



## 1,查看表默认属性
## hbase(main):005:0> desc 'ttl1'
## Table ttl1 is ENABLED                                                                                                                                                        
## ttl1                                                                                                                                                                         
## COLUMN FAMILIES DESCRIPTION                                                                                                                                                  
## {NAME => 'f1', BLOOMFILTER => 'ROW', VERSIONS => '1', IN_MEMORY => 'false', KEEP_DELETED_CELLS => 'FALSE', DATA_BLOCK_ENCODING => 'NONE', TTL => 'FOREVER', COMPRESSION => 'N
## ONE', MIN_VERSIONS => '0', BLOCKCACHE => 'true', BLOCKSIZE => '65536', REPLICATION_SCOPE => '0'}                                                                             
## 1 row(s) in 0.0220 seconds

[root@cdh-node1 ~]# hdfs dfs -cat /hbase/data/default/test/.tabledesc/.tableinfo.0000000001
PBUF
defaulttest
IS_METAfalse�
f
BLOOMFILTERROW
VERSIONS1
  IN_MEMORYfalse
KEEP_DELETED_CELLSFALSE
DATA_BLOCK_ENCODINGNONE
TTL
2147483647
COMPRESSIONNONE
MIN_VERSIONS0
BLOCKCACHEtrue
  BLOCKSIZE65536
REPLICATION_SCOPE0



## 2,修改表属性:压缩+ 块编码
## hbase(main):006:0> alter 'test',{NAME=>'f',COMPRESSION=>"LZ4",DATA_BLOCK_ENCODING=>"FAST_DIFF"}
## Updating all regions with the new schema...
## 1/1 regions updated.
## Done.
## 0 row(s) in 2.0640 seconds
## 
## hbase(main):007:0> compact
## compact       compact_mob   compact_rs
## hbase(main):007:0> compact 'test'
## 0 row(s) in 0.0690 seconds
## 
## hbase(main):008:0> major_compact
## major_compact       major_compact_mob
## hbase(main):008:0> major_compact 'test'
## 0 row(s) in 0.0510 seconds

[root@cdh-node1 ~]# hdfs dfs -ls /hbase/data/default/test/.tabledesc
Found 1 items
-rw-r--r--   1 hbase hbase   285 2020-04-13 11:16 /hbase/data/default/test/.tabledesc/.tableinfo.0000000002

[root@cdh-node1 ~]# hdfs dfs -cat /hbase/data/default/test/.tabledesc/.tableinfo.0000000002
PBUF
defaulttest
IS_METAfalse�
f
BLOOMFILTERROW
VERSIONS1
  IN_MEMORYfalse
KEEP_DELETED_CELLSFALSE 
DATA_BLOCK_ENCODING FAST_DIFF
TTL
2147483647
COMPRESSIONLZ4
MIN_VERSIONS0
BLOCKCACHEtrue
  BLOCKSIZE65536
REPLICATION_SCOPE0
发布了279 篇原创文章 · 获赞 44 · 访问量 14万+

猜你喜欢

转载自blog.csdn.net/eyeofeagle/article/details/105506606