Hbase基本语言(简单小结)

转载:https://www.jianshu.com/p/70c55e0846fb

HBase DDL(定义语言)

【namespace】
-》展示namespace
list_namespace

-》展示namespace下所有表
list_namespace_tables 'hbase'

-》创建namespace    帮助信息help 'create_namespace'
create_namespace 'nstest'

-》描述namespace
describe_namespace 'nstest'

-》修改alter_namespace 
只是修改命名空间的属性,对于名称是不能修改的

-》删除namespace
drop_namespace 'nstest2'table--》创建表时不需要进入到某个命名空间下,没有use命令,不是等同于RDBMS
--》'ns1:t1' 表与命名空间的关联通过 :这个符号

create 'ns1:t1', {NAME => 'f1', VERSIONS => 5}
-》指定某一个namespace下的某一张表
-》必须要指定一个列族{NAME}  --》NAME等同于列族的属性key
-=>表示等于的意思
-》一对{}只能定义一个列族,不同的{}定义不同多个列族
-》{}中的变量名称必须是大写的
-》VERSIONS指定列族下存储多个版本的数据

create 't1', {NAME => 'f1'}
-》不指定命名空间的  --》会在默认的命名空间下(default)

create 't1', 'f1', 'f2', 'f3'
-》简单使用创建方式,t1表的名称,f1、f2、f3都是定义到列族里

-》创建表【不指定namespace默认是defaultcreate 'stu_info','f1'
create 't1', 'f1', 'f2', 'f3'
create 'nstest:tb1','info'   

-》TTL(Time to Live) 用于限定数据的有效时间,CF默认的TTL值是FOREVER,也就是永不过期
   ,CF的TTL的值以秒为单位,比如设为1天,那么第二天就会自动删除

--》展示表
list  --》直接展示用户所有表,但是系统表不会展示
   
   
-》描述表
describe 't1'或者desc 't1'

{NAME => 'f1', BLOOMFILTER => 'ROW', VERSIONS => '1', IN_MEMORY => 'false', KEEP_DELETED_CELLS => 'FALSE', DATA_BLOCK_ENCODING => 'NO
NE', TTL => 'FOREVER', COMPRESSION => 'NONE', MIN_VERSIONS => '0', BLOCKCACHE => 'true', BLOCKSIZE => '65536', REPLICATION_SCOPE => '
0'}

-》修改表中列族属性:
alter不能修改表的名称

alter 't1', NAME => 'f1', VERSIONS => 5    --》修改指定某个列族的属性
alter 't1', 'f1', {NAME => 'f2', IN_MEMORY => true}, {NAME => 'f3', VERSIONS => 5}  -》修改多个列族的属性
增加列族:alter 't1', NAME => 'f2', VERSIONS => 5(版本可以不要)
          alter 't1', 'f3', {NAME => 'f4', IN_MEMORY => true}  (也是增加)
        --》如果表中已存在该列族表示修改该列族属性,反之就是增加一个列族       
修改(删除)列族:alter 't1', NAME => 'f3', METHOD => 'delete'
                alter 't1', 'delete' => 'f2'
            --》不支持同时删除多个列族
          
-》删除表 help 'drop'
    -》需要注意在hbase中删除表前都需要先禁用这张表
    disable 't1'  --》禁用
    enable 't1'   --》启用
    drop 't1'     --》删除 
    is_disabled   --》是否禁用状态
    is_enabled    --》是否启用状态

HBase DML(操纵语言)

【插入数据put】
-》格式:help 'put'
put 'ns1:t1', 'r1', 'c1', 'value'
-》r1表示rowkey 
-》c1表示列族+-value表示插入的值

【查询数据get、scan】
-》get方式:快速查询 指定索引查询,必须要跟rowkey
get 'nstest:tb1','10001'         查询某个rowkey的数据
get 'nstest:tb1','10001','info'  可以指定某个列族的数据
get 'nstest:tb1','10001','info:name'   可以指定某个列族下某个列的数据
-》hbase默认按照字典序进行排列--》abcd

-》scan方式:全表扫描
-》类似select * from的方式,全表扫描
scan 'nstest:tb1'

scan 't1',{COLUMNS => 'info:name'}  --》他是不限制行的
-》指定列去查询

scan 't1',{COLUMNS => 'info'}  --》他是不限制行的
-》指定列族去查询

scan 'ns1:t1', {COLUMNS => ['c1', 'c2'], LIMIT => 10, STARTROW => 'xyz'}
-》STARTROW表示开始的行号,LIMIT是限制显示的行数


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值