zoukankan      html  css  js  c++  java
  • hbase 表的基本操作

     
    # 创建表
    create 'Student','StuInfo','Grades'
    
    此命令创建了名为 Student 的表,列族为 Stulnfo 和 Grades
    注意:在 HBase Shell 语法中,所有字符串参数都必须包含在单引号中,且区分大小写,如 Student 和 student 代表两个不同的表。
    
    
    # 查看库中有哪些表
    list
    
    
    # 查看表属性
    describe 'Student'
    
    
    # 修改列族
    alter 'Student', {NAME => 'Grades', VERSIONS => 3}
    
    
    # 增加列族
    alter 'Student', 'hobby'
    
    
    # 删除列族
    alter 'Student', 'delete' => 'hobby'
    或者:
    alter 'Student', { NAME => 'hobby', METHOD => 'delete' }
    
    
    # 删除表
    disable 'Student'
    drop 'Student'
    
    查看表是否禁用成功
    is_disabled 'Student'
    
    
    # 清空表中的所有数据
    truncate 'Student'
    
    
    # 插入数据
    put 'Student', '0001', 'StuInfo:Name', 'Tom Green', 1
    
    在上述命令中,往Student表插入一个单元格:
    第一个参数Student为表名;
    第二个参数0001为行键的名称,为字符串类型;
    第三个参数StuInfo:Name为列族和列的名称,中间用冒号隔开。列族名必须是已经创建的,否则 HBase 会报错;列名是临时定义的,因此列族里的列是可以随意扩展的;
    第四个参数Tom Green为单元格的值。在 HBase 里,所有数据都是字符串的形式;
    最后一个参数1为时间戳,如果不设置时间戳,则系统会自动插入当前时间为时间戳。
    
    注意,put 命令只能插入一个单元格的数据,上表中的一行数据需要通过以下几条命令一起完成:
    put 'Student', '0001', 'StuInfo:Name', 'Tom Green', 1
    put 'Student', '0001', 'StuInfo:Age', '18'
    put 'Student', '0001', 'StuInfo:Sex', 'Male'
    put 'Student', '0001', 'Grades:BigData', '80'
    put 'Student', '0001', 'Grades:Computer', '90'
    put 'Student', '0001', 'Grades:Math', '85'
    
    如果 put 语句中的单元格是已经存在的,即行键、列族及列名都已经存在,且不考虑时间戳的情况下,执行 put 语句,则可对数据进行更新操作。
    
    如以下命令可将行键为 0001 的学生姓名改为 Jim Green:
    put 'Student', '0001', 'Stulnfo:Name', 'Jim Green'
    
    
    # 删除数据(delete命令)
    删除 Student 表中行键为 0002 的 Grades 列族的所有数据:
    delete 'Student', '0002', 'Grades'
    
    delete 命令的最小粒度是单元格(Cell)。
    例如,执行以下命令将删除 Student 表中行键为 0001,Grades 列族成员为 Math,时间戳小于等于 2 的数据:
    delete 'Student', '0001', 'Grades:Math', 2
    
    delete 命令不能跨列族操作,如需删除表中所有列族在某一行上的数据,即删除上表中一个逻辑行,则需要使用 deleteall 命令,如下所示,不需要指定列族和列的名称:
    deleteall 'Student', '0001'
    
    
    # 查询数据(scan命令)
    查询全表数据
    scan 'Student'
    
    查询所有rowkey大于且等于rows3的记录
    scan 'Student',{STARTROW=>'row3'}
    
    查询所有rowkey小于(但不包括)rows4的记录
    scan 'Student',{ENDROW=>'row4'}
    
    
    # 查询数据(get命令)
    get命令只能查询一个单元格的记录
    查询 Student 表中行键为 0001 的所有列族数据
    get 'Student', '0001'
    
    查询某个单元格的记录
    get 'Student', '0001','Grades:BigData'
    
    
    查询某个单元格内多个版本数据,查询的版本为5
    get 'Student', '0001',{'Grades:BigData',VERSIONS=>5}
  • 相关阅读:
    linux下安装配置DHCP服务器
    CentOS7安装配置Apache HTTP Server
    CentOS7安装配置DNS服务器
    CentOS7安装配置SAMBA服务器
    小程序全局监听
    springboot+redis
    java对接微信小程序
    获取上一个页面的data
    定时器
    maven项目打包
  • 原文地址:https://www.cnblogs.com/l10n/p/13840168.html
Copyright © 2011-2022 走看看