增删改查 添加 1 put 'test','row1','cf:name','iFan'
查询 1 2 3 4 5 6 7 8 9 get 'test','row1',{COLUMN=>'cf:name', VERSIONS=>3} scan 'test',{STARTROW=>'row3', ENDROW=>'row4'} // 查询表未经过过滤的原始记录 scan 'test',{RAW=>true, VERSION>5} scan '表名', {LIMIT=>行数量} # 分页查询 scan 'myns:user_info', {COLUMNS => ['base_info:username'], LIMIT => 10, STARTROW => '001'} # 根据时间查询 scan 'myns:user_info','001', {'TIMERANGE' => [1571650017702, 1571650614606]}
删除 HBase并不是即时删除数据,而是设置了一个墓碑标记,会定期清除过期数据
1 2 3 4 5 # 删除这个版本之前的所有数据 delete 'test','row4','cf:name' ts # 删除整列的数据 deleteall 'test','row5' ts
表操作 创建表 1 2 # 创建表 create '表名', {NAME=>'列族1', 属性名=>值}, {NAME=>'列族2'}
添加列族
修改列族属性 1 2 3 4 5 alter 'test',{NAME=>'cf', VERSIONS=>5} alter '表名', 属性名=>值, 属性名=>值 alter '表名', NAME=>'列族', 属性名=>值, 属性名=>值 alter '表名', {NAME=>'列族', 属性名=>值, 属性名=>值},{NAME=>'列族', 属性名=>值, 属性名=>值} alter '表名', 'delete' => '列族'
查看符合条件的表
查看表属性 1 2 3 describe '表名' # 查看表是否存在 exit 'table_name'
禁用表 1 2 3 4 5 # 禁用表 disable 'table_name' # 禁用符合条件的表 disable_all 'tab.*'
启用表
删除表 1 2 3 4 5 # 删除表 drop 'table_name' # 删除符合条件的表 drop_all 'tab.*'
数据导入导出 1 2 3 4 5 # 数据导出 hbase org.apache.hadoop.hbase.mapreduce.Export 表名 数据文件位置 版本 开始时间 结束时间 # 数据导入 hbase org.apache.hadoop.hbase.mapreduce.Import 表名称 hdfs上的目录
REST API API
查询单个column cf:q:
1 curl -H "Content-Type: text/xml" https://localhost:8080/table/*?columns=cf:q
查询多个column cf1:q1和cf2:q2:
1 curl -H "Content-Type: text/xml" https://localhost:8080/table/*?columns=cf1:q1,cf2:q2
从key1开始查询两条记录:
1 curl -H "Content-Type: text/xml" https://localhost:8080/table/*?startrow=key1&limit=2
查询1389900769772和1389900800000之间的版本:
1 curl -H "Content-Type: text/xml" https://localhost:8080/table/*?starttime=1389900769772&endtime=1389900800000