HBase Shell的操作
考试要求: 掌握     
知识路径:  > 数据库技术  > 数据库技术基础  > 数据库模型  > 典型数据库:RDB(关系数据库)、OODB(面向对象数据库)、ORDB(对象关系数据库)、XML数据库、NoSQL(非关系数据库)  > 非关系型数据库NoSQL  > NoSQL应用案例与新技术  > HBase数据库


 
       HBase Shell是HBase的命令行工具,可以使用shell命令来查询HBase中数据的详细情况。安装和配置好HBase的环境变量后,使用HBase shell进入命令行界面。与关系型数据库不同,HBase的基本组成为表,不存在多个数据库。因此在HBase中存储数据首先要创建表,同时设置列族的数量和属性。HBase表的操作命令如下表所示。
       
       HBase表的操作命令
       下面对HBase表的常用操作命令进行详细介绍。
       创建表
       创建表的命令是:create,{NAME=>,VERSION=>}。
       大括号内是对列族的定义,NAME、VERSION是参数名,不需要单引号。需要注意的是,在HBase Shell语法中,所有字符串参数必须包含在单引号内,且区分大小写。Version=>指的是单元格内保存最近version个版本。
       插入数据
       插入数据的命令是:put,
       在上述命令中,第一个table是表名;第二个参数是行键名称,它的类型为字符串类型;第三个参数是列族和列的名称,列族必须是已经创建的,列名临时定义,因此列是可以随意拓展的;第四个参数是单元格的值,所有的数据都是字符串的形式;最后一个是时间戳。
       put命令只能插入单元格的数据,每次只能插入一条数据。如果put语句中的单元格是已经存在的,即各表名、行键、列族、列名都已经存在,那么在不考虑时间戳的情况下,执行例9.5的语句是对数据的更新操作。
       扫描查询数据
       扫描查询数据的命令是:scan,{COLUMNS=[,…]},LIMIT=>num。
       使用scan命令指定表名,即可查询全表的数据,还可以指定列族和列的名称,或者输出行数等。在指定条件进行输出的时候,需要使用大括号将参数括起来。指定列族和列名称时使用COLUMNS限定符,LIMIT指的是扫描前几条数据。还可以添加STARTROW和TIMERANGE等高级功能,指定输出范围使用STARTROW和ENDROW限定符,此时输出行不包括ENDROW;TIMERANGE指定最大时间戳和最小时间戳,只有在此范围内的单元格才能被获取。
       删除数据
       删除行中某个列值的命令是:delete,
       删除行的命令是:deleteall,
       删除表中的所有数据的命令是:truncate。
       delete命令行可以从表中删除某一行、某一列以及所有数据,必须指明表名和列族名称,而列名和时间戳是可以选择的。HBase的删除不像传统关系型数据库的删除,delete操作是在对应的数据上打上删除标志,等到下一次合并、分裂等操作时才将所有数据进行移除。
       在delete对象setWriteToWAL(),这是进行删除是否写入WAL日志中的操作。如果写入日志,则在整个删除动作的时候,数据操作被记录,出现系统崩溃时可以进行数据恢复。如果不写入的话,可以降低删除动作时间,但是如果在没有写入到HDFS中前发生系统崩溃,数据将无法进行恢复。
 

更多复习资料
请登录电脑版软考在线 www.rkpass.cn

京B2-20210865 | 京ICP备2020040059号-5
京公网安备 11010502032051号 | 营业执照
 Copyright ©2000-2025 All Rights Reserved
软考在线版权所有