[01].操作hbase数据库

  • 进入hbase shell工具

    1. hbase shell

    28.HBase数据库操作 - 图1

  • status查看状态

28.HBase数据库操作 - 图2

  • help查看帮助

    1. Group name: ddl
    2. Commands: alter, alter_async, alter_status, create, describe, disable, disable_all, drop, drop_all, enable, enable_all, exists, get_table, is_disabled, is_enabled, list, show_filters
    3. Group name: dml
    4. Commands: append, count, delete, deleteall, get, get_counter, incr, put, scan, truncate, truncate_preserve

    [02].表操作

  • 输入list查看(用户空间)当前拥有 的表

28.HBase数据库操作 - 图3

01.创建表

格式1:create ‘ NameSpace : TableName ‘ { NAME=>’liezuName’,VERSONS=>5 }

  • NameSpace :命名空间(相当于数据库)
  • TableName :表名
  • NAME=>’liezuName’:列族的名称
  • VERSONS=>5:列族中每个单元格的(保留)版本,出现新版本的数据时,自动删除最旧版本

    格式2:create ‘ TableName ‘ { NAME=>’f1’ } , { NAME=>’f2’ } , { NAME=>’f2’ }

  • 使用默认的命名空间创建表

  • 拥有三个列族:f1,f2,f3
  • 简写:create 'tableName','f1','f2','f3'

    开始实验

  • 添加自定义的命名空间hadoop

    1. create_namespace 'hadoop'

    28.HBase数据库操作 - 图4

  • 查看当前命名空间

    1. list_namespace

    28.HBase数据库操作 - 图5

  • 执行建表命令

    1. create 'hadoop:student','stu_info','sel_course'

    28.HBase数据库操作 - 图6

  • list查看(用户空间)表

28.HBase数据库操作 - 图7

02.删除表

  • 创建默认空间的表

    1. create 'student','stu_info','sel_course'

    由于我们没有指定命名空间,所以创建完成后会出现在默认空间中。
    28.HBase数据库操作 - 图8
    此时我们可以看到studenthadoop:student,我们删除默认空间的那个表。

  • 将表disable(禁用)

    1. disable `student`
  • 删除

    1. drop 'student'

    28.HBase数据库操作 - 图9

    [03].数据操作

    01.增加一个单元格数据

  • 使用put增加一个学生(名字:’Tom’,学号:’1001’)

    1. put 'hadoop:student' , '1001' , 'stu_info:name' , 'Tom'

    02.put(也可以更改数据)

  • 按学号(rowkey)查询

    1. get 'hadoop:student' ,'1001'

    28.HBase数据库操作 - 图10

  • 插入stature列(身高)180

    1. put 'hadoop:student' , '1001' , 'stu_info:stature', '180'
  • 再次查询

28.HBase数据库操作 - 图11

03.scan

  • 查询整张表的数据

    1. scan 'hadoop:student'

    28.HBase数据库操作 - 图12

  • 继续创建学生Lily

    1. put 'hadoop:student' , '1002' , 'stu_info:name', 'Lily'

    28.HBase数据库操作 - 图13

  • 查看一下

    1. scan 'hadoop:student'

    28.HBase数据库操作 - 图14

    04.scan一整行数据

  • 添加Tom的英语成绩

    1. put 'hadoop:student' , '1001' , 'sel_course:en', '85'
  • 添加Lily的数学成绩

    1. put 'hadoop:student' , '1002' , 'sel_course:ma', '90'
  • 列出列族sel_course下所有单元格数据

    1. scan 'hadoop:student' , {COLUMNS=>['sel_course']}

    28.HBase数据库操作 - 图15

  • 列出列族sel_course下所有学生英语成绩

    1. scan 'hadoop:student' , {COLUMNS=>['sel_course:en']}

    28.HBase数据库操作 - 图16

  • 添加Lily的身高

    1. put 'hadoop:student' , '1002' , 'stu_info:stature', '165'

    28.HBase数据库操作 - 图17

  • 列出列族stu_info下所有学生身高

    1. scan 'hadoop:student' , {COLUMNS=>['stu_info:stature']}

    28.HBase数据库操作 - 图18

    05.delete

  • 添加一个测试数据

    1. put 'hadoop:student' , '1003' , 'stu_info:name', 'Bruth'

    28.HBase数据库操作 - 图19

  • scan全表

28.HBase数据库操作 - 图20

  • 删除此数据
    1. delete 'hadoop:student' , '1003' , 'stu_info:name'
    28.HBase数据库操作 - 图21
    可以看出1003的数据已经没有了。