常用的HBASE-Shell命令

  • 帮助命令:使用help获得全部命令的列表,使用help ‘command_name’获得某一个命令的详细信息
    help 'status'
  • 查询服务器状态
    status
  • 查看所有表
  • list
  • 创建一个表
    create 'FileTable','fileInfo','saveInfo'
  • 获得表的描述
    describe 'FileTable'
  • 添加一个列族
    alter 'FileTable', 'cf'
  • 删除一个列族
    alter 'FileTable', {NAME => 'cf', METHOD => 'delete'}
  • 插入数据
    put 'FileTable', 'rowkey1','fileInfo:name','file1.txt'
  • 查询表中有多少行
    count 'FileTable'
  • 获取一个rowkey的所有数据
    get 'FileTable', 'rowkey1'
  • 获得一个id,一个列簇(一个列)中的所有数据
    get 'FileTable', 'rowkey1', 'fileInfo'
  • 查询整表数据
    scan 'FileTable'
  • 扫描整个列簇
    scan 'FileTable', {COLUMN=>'fileInfo'}
  • 指定扫描其中的某个列
    scan 'FileTable', {COLUMNS=> 'fileInfo:name'}
  • 除了列(COLUMNS)修饰词外,HBase还支持Limit(限制查询结果行数),STARTROW(ROWKEY起始行。会先根据这个key定位到region,再向后扫描)、STOPROW(结束行)、TIMERANGE(限定时间戳范围)、VERSIONS(版本数)、和FILTER(按条件过滤行)等。比如我们从RowKey1这个rowkey开始,找下一个行的最新版本
    scan 'FileTable', { STARTROW => 'rowkey1', LIMIT=>1, VERSIONS=>1}
  • Filter是一个非常强大的修饰词,可以设定一系列条件来进行过滤。比如我们要限制名称为file1.txt
    scan 'FileTable', FILTER=>"ValueFilter(=,'name:file1.txt’)"
  • FILTER中支持多个过滤条件通过括号、AND和OR的条件组合
    scan 'FileTable', FILTER=>"ColumnPrefixFilter('typ') AND ValueFilter ValueFilter(=,'substring:10')"
  • 通过delete命令,我们可以删除某个字段
    delete 'FileTable','rowkey1','fileInfo:size'
  • 删除整行的值
    deleteall 'FileTable','rowkey1'
  • 通过enable和disable来启用/禁用这个表,相应的可以通过is_enabled和is_disabled来检查表是否被禁用
    is_enabled 'FileTable'
    is_disabled 'FileTable'
  • 使用exists来检查表是否存在
    exists 'FileTable'
  • 删除表需要先将表disable
    disable 'FileTable'
    drop 'FileTable'
-------------End Of This ArticleThank You For Reading-------------