HBase的命令行

HBase命令

1,指导手册

hbase

2,HBase Shell的一些基本操作命令

HBase的命令行_第1张图片

基本操作

  • 1, 进入 HBase 命令行界面

      hbase shell		#任意一台安装HBase的服务器节点
    
  • 2,查看帮助信息

      hbase(main):001:0> help              	#获取所有命令的帮助信息
      hbase(main):001:0> help "ddl"			#获取一组命令的帮助信息
      hbase(main):001:0> help "list"		#获取单独命令的帮助信息
    
  • 3,查询服务器状态

      hbase(main):001:0> status
    
  • 4, 查询 HBase 版本

      方法一:hbase(main):001:0> version
      方法二:hbase version
    
  • 5,退出 HBase 命令行界面

      方法一:hbase(main):008:0> exit
      方法二:hbase(main):001:0> quit
    

DDL(数据定义语言)操作

  • 1,创建表

    • 默认版本
      语法(默认版本号为1)

        create 'table_name','column_family1','column_family2',......
      

      示例:创建表students,有两个列簇:base_info,course_info

        hbase(main):002:0> create 'students','base_info', 'course_info'
      
    • 自己设置版本号
      语法:

        create 'table_name', {NAME => 'column_family', VERSIONS => 'versions'},......
      

      示例:创建表student,有两个列簇:base_info,course_info,版本号前者为3,后者为1

        hbase(main):001:0> create 'student',{NAME => 'base_info',VERSIONS => 3},{NAME => 'course_info',VERSIONS => 1}
      
  • 2,查看表

      命令:hbase(main):003:0> list
    
  • 3,查看表结构

      describe 'table_name'
    

    示例:查看student的表结构

      hbase(main):005:0> describe 'student'
    
  • 4,修改表结构
    语法:alter ‘table_name’, {NAME => ‘column_family1’, VERSIONS => ‘versions’}
    示例:修改students列簇base_info的版本号

      hbase(main):009:0> alter 'students',{NAME => 'base_info', VERSIONS => 3}
    
  • 5, 删除列簇
    语法:alter ‘table_name’, {NAME => ‘column_family1’, METHOD => ‘delete’}
    示例:将表students中的列簇base_info删除

      hbase(main):016:0> alter 'students',{NAME => 'base_info',METHOD => 'delete'}
    

    查看是否删除成功:

      hbase(main):017:0> describe 'students'
    
  • 6,删除表
    步骤:
    disable(禁用)表
    drop(删除)表
    示例:将表students删除

      disable表:hbase(main):019:0> disable 'students'
      drop表:hbase(main):020:0> drop 'students'
    
  • 7,查询表是否存在
    语法:exists ‘table_name’
    示例:查询student表是否存在

      hbase(main):005:0> exists 'student'
    
  • 8,判断表是否禁用
    语法:is_disabled ‘table_name’
    示例:判断student表是否禁用

      hbase(main):026:0> is_disabled 'student'
    
  • 9,判断表是否启用
    语法:is_enabled ‘table_name’
    示例:判断student表是否启用

      hbase(main):005:0> is_enabled 'student'
    

DML(数据操作语言)操作

1,添加数据

语法:put ‘table_name’,‘rowkey’,‘column_family:column’,‘value’,‘timestamp’
示例:为表student添加数据

	put 'student','1001','base_info:name','shiny'

2,查询数据

  • 1,扫描整个表
    语法:scan ‘table_name’,{COLUMNS => [ ‘column_family:column’,… ], LIMIT => num}
    (1)扫描表student,base_info:name的前2条数据

      hbase(main):004:0> scan 'student',{COLUMNS => 'base_info:name',LIMIT => 2}
    

    (2)扫描表student的前2条数据

      hbase(main):005:0> scan 'student',{LIMIT => 2}
    
  • 2,查询某行记录
    语法:
    (1)根据行键:get ‘table_name’,‘rowkey’
    (2)根据行键和列簇:get ‘table_name’,‘rowkey’,‘column_family’
    (3)根据行键、列簇和列:get ‘table_name’,‘rowkey’,‘column_family:column’
    示例:
    (1)查询表student,行键1001中所有的数据

      hbase(main):073:0> get 'student','1001'
    

    (2)查询表student,行键1001中的course_info下所有的列值

      hbase(main):001:0> get 'student','1001','course_info'
    

    (3)查询表student,行键1001中的base_info下的name值

      hbase(main):072:0> get 'student','1001','course_info:Math'
    

    只会显示最新版本的数据

  • 3,查询表中数据行数
    语法:count ‘table_name’
    示例:查询表student的行数(行键总数)

      hbase(main):006:0> count 'student'
    

3,修改数据

语法:put ‘table_name’,‘rowkey’,‘column_family:column’,‘value’
即重新put一下将原先的数据覆盖
示例:将表student,1001中course_info:Math的值修改为100

hbase(main):009:0> put 'student','1001','course_info:Math','100'	

查询多个版本数据
(1)显示最新版本的数据

hbase(main):072:0> get 'student','1001','base_info:name'

(2)通过timestamp来获取对应版本的数据(前提知道timestamp)

hbase(main):013:0> get 'student','1001',{COLUMN=>'course_info:Math',TIMESTAMP => 1500542224220}

(3)通过versions来获取多个版本的数据

hbase(main):019:0> get 'student','1001',{COLUMN=>'course_info:Math',VERSIONS => 2}

4,删除数据

  • 1,删除行中某个列值
    语法:delete ‘table_name’,‘rowkey’,‘column_family:column’,‘timestamp’
    必须指定列名,指定时间戳说明删除指定版本数据
    示例:删除表student,1001中的course_info:Math的数据(所有版本)

      hbase(main):015:0> delete 'student','1001','course_info:Math'
    
  • 2,删除行
    语法:deleteall ‘table_name’,‘rowkey’
    不指定列名,删除整行数据
    示例:删除表student,1001的所有数据

      hbase(main):018:0> deleteall 'student','1001'
    
  • 3,清空表
    语法:truncate ‘table_name’
    示例:清空表student

      hbase(main):020:0> truncate 'student'
    

你可能感兴趣的:(Hadoop)