AmosCloud

Library

Have a Question?

If you have any question you can ask below or enter what you are looking for!

2020年5月22日_day14_Hbase

Hbase命令行操作

  1. 进入Hbase命令

hbase shell

  1. 查看当前库的表

list

  1. 创建表并设置列族,并给列族设置属性
# 创建一张表 含有多个列族
create 'table_name','cf1_name','cf2_name'
# 创建一张表 给列族设置属性
create 'table_name',{
NAME => 'cf1'  # 列族的名字
,BLOOMFILTER => 'ROW' # 布隆过滤器级别
# 布隆过滤器底层是一个位数组,当我们给表中插入数据时
# 会在过滤器中插入一些标识(若干个位置赋值为1)
# 查询数据时,根据相同的算法计算出存1的位置,在数组中进行比对
# 比对成功认为数据存在
# 有一定的误差,误差可以根据过滤器的数组大小来控制 1/10万
, VERSIONS => '3' # 每条数据有多少个版本
# 在Hbase中每条数据有以下内容
# '行键','列族','列(限定符)','时间戳(版本号)','值'
#  升序   升序   升序          倒序
# <'行键',<'列族',<'列(限定符)',<'时间戳(版本号)','值'>>>>
, IN_MEMORY => 'false' # 存储在内存中
, KEEP_DELETED_CELLS => 'FALSE'
, DATA_BLOCK_ENCODING => 'NONE'
, TTL => 'FOREVER' # 数据存活时间
,COMPRESSION => 'NONE' # 指定表的压缩格式 hadoop,SNAPPY
, MIN_VERSIONS => '0' # 版本下界
, BLOCKCACHE => 'true' # 是否开启缓存
, BLOCKSIZE => '65536' # memstore中的文件块
, REPLICATION_SCOPE => '0'} # 不记得 自己查
  1. 数据的插入

    put '表名', '行键', '列族:列名', '值', 时间戳(数值不用加'')
  2. 数据的查询

    • get操作 根据key取value的过程,操作范围是一个rowkey
get '表名', '行键', {COLUMN => '列名', TIMESTAMP => 1, VERSIONS => 4}
#                              过滤器名称 相等条件 过滤内容
get '表名', '行键', {FILTER => "ValueFilter(=, 'binary:abc')"}
  • scan操作 扫描根据设置的条件在整表中找到符合条件的数据
    # 开始行键和结束行键 不一定真实存在
    # 我们会虚构一个可以插入在目标数据之前的行键作为开始行键,虚构一个可以插入在目标数据之后的作为结束行键
    scan 't1',{STARTROW => '开始行键',STOPROW => '结束行键'}
  • 删除表
    1. 标记为不可用
      disable 't1'
    2. 删除表
      drop 't1'

You must be logged in to post a comment.