1/5 HBase( 五 )


1/5 HBase

文章插图
5.3 DDL相关5.3.1. 创建表create
注意:创建表时只需要指定列族名称,不需要指定列名 。
# 语法create '表名', {NAME => '列族名1'}, {NAME => '列族名2'}, {NAME => '列族名3'}# 此种方式是上上面的简写方式,使用上面方式可以为列族指定更多的属性 , 如VERSIONS、TTL、BLOCKCACHE、CONFIGURATION等属性create '表名', '列族名1', '列族名2', '列族名3'create '表名', {NAME => '列族名1', VERSIONS => 版本号, TTL => 过期时间, BLOCKCACHE => true}# 示例create 'tbl_user', 'info', 'detail'create 't1', {NAME => 'f1', VERSIONS => 1, TTL => 2592000, BLOCKCACHE => true}
1/5 HBase

文章插图
5.3.2 修改(添加、删除)表结构Schema alter5.3.2.1 添加一个列簇# 语法alter '表名', '列族名'# 示例alter 'tbl_user', 'address'
1/5 HBase

文章插图
5.3.2.2 删除一个列簇# 语法alter '表名', {NAME=> '列族名', METHOD=> 'delete'}# 示例alter 'tbl_user', {NAME=> 'address', METHOD=> 'delete'}
1/5 HBase

文章插图
5.3.2.3 修改列族的属性
可以修改列族的VERSIONS、IN_MEMORY
# 修改f1列族的版本为5alter 't1', NAME => 'f1', VERSIONS => 5# 修改多个列族,修改f2为内存,版本号为5alter 't1', 'f1', {NAME => 'f2', IN_MEMORY => true}, {NAME => 'f3', VERSIONS => 5}# 也可以修改table-scope属性,例如MAX_FILESIZE, READONLY,MEMSTORE_FLUSHSIZE, DEFERRED_LOG_FLUSH等 。# 例如,修改region的最大大小为128MB:alter 't1', MAX_FILESIZE => '134217728'5.3.3 获取表的描述describe# 语法describe '表名'# 示例describe 'tbl_user'
1/5 HBase

文章插图
5.3.4 列举所有表list
1/5 HBase

文章插图
5.3.5 表是否存在exists# 语法exists '表名'# 示例exists 'tbl_user'
1/5 HBase

文章插图
5.3.6 启用表enable和禁用表disable
通过enable和disable来启用/禁用这个表,相应的可以通过is_enabled和is_disabled来检查表是否被禁用 。
# 语法enable '表名'is_enabled '表名'disable '表名'is_disabled '表名'# 示例disable 'tbl_user'is_disabled 'tbl_user'enable 'tbl_user'is_enabled 'tbl_user'5.3.7 禁用满足正则表达式的所有表disable_all
  • .匹配除“\n”和"\r"之外的任何单个字符
  • *匹配前面的子表达式任意次
# 匹配以t开头的表名disable_all 't.*'# 匹配指定命名空间ns下的以t开头的所有表disable_all 'ns:t.*'# 匹配ns命名空间下的所有表disable_all 'ns:.*'5.3.8 启用满足正则表达式的所有表enable_allenable_all 't.*'enable_all 'ns:t.*'enable_all 'ns:.*'5.3.9 删除表drop
需要先禁用表 , 然后再删除表,启用的表是不允许删除的
# 语法disable '表名'drop '表名'# 示例disable 'tbl_user'drop 'tbl_user'
直接删除报错:

1/5 HBase

文章插图
先禁用后删除

1/5 HBase

文章插图
5.3.10 删除满足正则表达式的所有表drop_alldrop_all 't.*'drop_all 'ns:t.*'drop_all 'ns:.*'

推荐阅读