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}

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zgygxj.html