DDL
--创建命名空间
create_namespace "hbase_test"
--查看已创建的命令空间列表
list_namespace
--查看所有表
list
--查看指定命名空间(库)中的表
list_namespace_tables "hbase_test"
--创建表
简单:create "hbase_test:student_info","base","scores"
复杂:create "hbase_test:student_info",{NAME => 'base', BLOOMFILTER => 'ROW', IN_MEMORY => 'false', VERSIONS => '1', KEEP_DELETED_CELLS => 'TRUE', DATA_BLOCK_ENCODING => 'NONE', COMPRESSION => 'NONE', TTL => 'FOREVER', MIN_VERSIONS => '0', BLOCKCACHE => 'true', BLOCKSIZE => '65536', REPLICATION_SCOPE => '0'},
{NAME => 'scores', BLOOMFILTER => 'ROW', IN_MEMORY => 'false', VERSIONS => '3', KEEP_DELETED_CELLS => 'FALSE', DATA_BLOCK_ENCODING => 'NONE', COMPRESSION => 'NONE', TTL => '86400', MIN_VERSIONS => '0', BLOCKCACHE => 'true', BLOCKSIZE => '655360', REPLICATION_SCOPE => '0'}
表的配置可自行更改,前者为默认值
--查看表定义
desc[ribe] "hbase_test:student_info"
--查看表的状态
is_enabled 是否已启用
is_disabled 是否已禁用
enable 启用表
disable 禁用表
DML
--添加数据
put "hbase_test:student_info","1","base:name","张老三"
put "hbase_test:student_info","1","base:age",22
put "hbase_test:student_info","1","base:gender","男"
put "hbase_test:student_info","1","scores:hive",72
put "hbase_test:student_info","1","scores:hbase",88
put "hbase_test:student_info","2","base:name","张老二"
put "hbase_test:student_info","2","base:age",22
put "hbase_test:student_info","2","base:gender","男"
put "hbase_test:student_info","2","scores:hive",756
put "hbase_test:student_info","2","scores:hbase",1
--删除数据
delete
deleteall
truncate "hbase_test:student_info"
--删除一个单元格
delete|deleteall "hbase_test:student_info","1","base:name"
--删除一个列族
deleteall "hbase_test:student_info","2"
--ROWPREFIXFILTER: 支持行键前缀批量删除,CACHE:修改批量的值
deleteall "hbase_test:student_info",{ROWPREFIXFILTER=>"gender"}
deleteall "hbase_test:student_info",{ROWPREFIXFILTER=>"TS|STR",CACHE=>100}
truncate "hbase_test:student_info"
--查看某列值
get "hbase_test:student_info","1" #查一行
get "hbase_test:student_info","1","base" #查看一个列族
get "hbase_test:student_info","1","base:age" #查看一个列族
--导入数据/批量添加
hbase org.apache.hadoop.hbase.mapreduce.ImportTsv \
-Dimporttsv.separator="|" \
- Dimporttsv.columns=HBASE_ROW_KEY,base:name,base:age,scores:hive,scores:hive,scores:hbase \
hbase_test:student_info \
file:///root/hbase/students_for_import_2.csv
--hive表映射hbase
create external table yb12211_2.student_from_hbase(
stu_id int,
stu_name string,
stu_age int,
score_hive int,
score_hbase int
)
stored by 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
with serdeproperties("hbase.columns.mapping"=":key,base:name,base:age,scores:hive,scores:hbase")
tblproperties("hbase.table.name"="hbase_test:student_info");