HBase分享四、HBase shell的基本用法
HBase笔记HBase官方网站:/HBase官方版本下载地址:/apache/hbase/官网使用向导:/book.html1HBase分享四、HBase shell的基本用法这里grad对于表来说是一个只有它自己的列族,course对于表来说是一个有两个列的列族,这个列族由两个列组成math和art,当然我们可以根据我们的需要在course中建立更多的列族,如computer,physics等相应的列添加入course列族。
(1)建立一个表scores,有两个列族grad和courese代码如下:hbase(main):001:0> create ‘scores','grade', ‘course'可以使用list命令来查看当前HBase里有哪些表。
使用describe命令来查看表结构。
(记得所有的表明、列名都需要加上引号)(2)按设计的表结构插入值:代码如下:put ‘scores','Tom','grade:','5′put ‘scores','Tom','course:math','97′put ‘scores','Tom','course:art','87′put ‘scores','Jim','grade','4′put ‘scores','Jim','course:','89′put ‘scores','Jim','course:','80′这样表结构就起来了,其实比较自由,列族里边可以自由添加子列很方便。
如果列族下没有子列,加不加冒号都是可以的。
put命令比较简单,只有这一种用法:hbase> put ‘t1′, ‘r1′, ‘c1′, ‘value', ts1t1指表名,r1指行键名,c1指列名,value指单元格值。
ts1指时间戳,一般都省略掉了。
(3)根据键值查询数据get ‘scores','Jim'get ‘scores','Jim','grade'可能你就发现规律了,HBase的shell操作,一个大概顺序就是操作关键词后跟表名,行名,列名这样的一个顺序,如果有其他条件再用花括号加上。
get有用法如下:hbase> get ‘t1′, ‘r1′hbase> get ‘t1′, ‘r1′, {TIMERANGE => [ts1, ts2]}hbase> get ‘t1′, ‘r1′, {COLUMN => ‘c1′}hbase> get ‘t1′, ‘r1′, {COLUMN => ['c1', 'c2', 'c3']}hbase> get ‘t1′, ‘r1′, {COLUMN => ‘c1′, TIMESTAMP => ts1}hbase> get ‘t1′, ‘r1′, {COLUMN => ‘c1′, TIMERANGE => [ts1, ts2], VERSIONS => 4}hbase> get ‘t1′, ‘r1′, {COLUMN => ‘c1′, TIMESTAMP => ts1, VERSIONS => 4} hbase> get ‘t1′, ‘r1′, ‘c1′hbase> get ‘t1′, ‘r1′, ‘c1′, ‘c2′hbase> get ‘t1′, ‘r1′, ['c1', 'c2'](4)扫描所有数据scan ‘scores'也可以指定一些修饰词:TIMERANGE, FILTER, LIMIT, STARTROW, STOPROW, TIMESTAMP, MAXLENGTH,or COLUMNS。
没任何修饰词,就是上边例句,就会显示所有数据行。
例句如下:代码如下:hbase> scan ‘.META.'hbase> scan ‘.META.', {COLUMNS => ‘info:regioninfo'}hbase> scan ‘t1′, {COLUMNS => ['c1', 'c2'], LIMIT => 10, STARTROW => ‘xyz'} hbase> scan ‘t1′, {COLUMNS => ‘c1′, TIMERANGE => [1303668804, 1303668904]}hbase> scan ‘t1′, {FILTER => “(PrefixFilter (‘row2′) AND (QualifierFilt er (>=,‘binary:xyz'))) AND (TimestampsFilter ( 123, 456))”}hbase> scan ‘t1′, {FILTER =>org.apache.hadoop.hbase.filter.ColumnPaginationFilter.new(1, 0)}过滤器filter有两种方法指出:a. Using a filterString – more information on this is available in theFilter Language document attached to the HBASE-4176 JIRAb. Using the entire package name of the filter.还有一个CACHE_BLOCKS修饰词,开关scan的缓存的,默认是开启的(CACHE_BLOCKS=>true),可以选择关闭(CACHE_BLOCKS=>false)。
(5)删除指定数据代码如下:delete ‘scores','Jim','grade'delete ‘scores','Jim'删除数据命令也没太多变化,只有一个:hbase> delete ‘t1′, ‘r1′, ‘c1′, ts1另外有一个deleteall命令,可以进行整行的范围的删除操作,慎用!如果需要进行全表删除操作,就使用truncate命令,其实没有直接的全表删除命令,这个命令也是disable,drop,create三个命令组合出来的。
(6)修改表结构代码如下:disable ‘scores'alter ‘scores',NAME=>'info'enable ‘scores'alter命令使用如下(如果无法成功的版本,需要先通用表disable):a、改变或添加一个列族:hbase> alter ‘t1′, NAME => ‘f1′, VERSIONS => 5b、删除一个列族:代码如下:hbase> alter ‘t1′, NAME => ‘f1′, METHOD => ‘delete'hbase> alter ‘t1′, ‘delete' => ‘f1′c、也可以修改表属性如MAX_FILESIZEMEMSTORE_FLUSHSIZE, READONLY,和DEFERRED_LOG_FLUSH:hbase> alter ‘t1′, METHOD => ‘table_att', MAX_FILESIZE => '134217728′d、可以添加一个表协同处理器hbase> alter ‘t1′, METHOD => ‘table_att', ‘coprocessor'=>‘hdfs:///foo.jar|com.foo.FooRegionObserver|1001|arg1=1,arg2=2′一个表上可以配置多个协同处理器,一个序列会自动增长进行标识。
加载协同处理器(可以说是过滤程序)需要符合以下规则:[coprocessor jar file location] | class name | [priority] | [arguments]e、移除coprocessor如下:hbase> alter ‘t1′, METHOD => ‘table_att_unset', NAME => ‘MAX_FILESIZE' hbase> alter ‘t1′, METHOD => ‘table_att_unset', NAME => ‘coprocessor$1′f、可以一次执行多个alter命令:hbase> alter ‘t1′, {NAME => ‘f1′}, {NAME => ‘f2′, METHOD => ‘delete'}(7)统计行数:代码如下:hbase> count ‘t1′hbase> count ‘t1′, INTERVAL => 100000hbase> count ‘t1′, CACHE => 1000hbase> count ‘t1′, INTERVAL => 10, CACHE => 1000count一般会比较耗时,使用mapreduce进行统计,统计结果会缓存,默认是10行。
统计间隔默认的是1000行(INTERVAL)。
(8)disable 和enable 操作很多操作需要先暂停表的可用性,比如上边说的alter操作,删除表也需要这个操作。
disable_all 和enable_all能够操作更多的表。
(9)表的删除先停止表的可使用性,然后执行删除命令。
drop ‘t1′以上是一些常用命令详解,具体的所有hbase的shell命令如下,分了几个命令群,看英文是可以看出大概用处的,详细的用法使用help “cmd” 进行了解。
代码如下:COMMAND GROUPS:Group name: generalCommands: status, versionGroup name: ddlCommands: alter, alter_async, alter_status, create, describe, disable, disable_all, drop, drop_all,enable, enable_all, exists, is_disabled, is_enabled, list, show_filtersGroup name: dmlCommands: count, delete, deleteall, get, get_counter, incr, put, scan, truncateGroup name: toolsCommands: assign, balance_switch, balancer, close_region, compact, flush, hlog_roll, major_compact,move, split, unassign, zk_dumpGroup name: replicationCommands: add_peer, disable_peer, enable_peer, list_peers, remove_peer,start_replication,stop_replicationGroup name: securityCommands: grant, revoke, user_permissionhbase shell脚本既然是shell命令,当然也可以把所有的hbase shell命令写入到一个文件内,想linux shell 脚本程序那样去顺序的执行所有命令。
HBaseshell命令情况总结
HBaseshell命令情况总结通过shell操作HBase(在C60U10版本)1.登录连接客户端所在服务器:**************.0.24进⼊安装⽬录:cd /opt/hadoopclient导⼊环境变量:source bigdata_env进⼊HBase: cd HBase/hbase/bin启动HBase: hbase shell注:此版本不需要认证(查看是否认证klist,认证kinit ⽤户名)(admin Huawei@123)2.HBase shell命令2.1.⼀般操作2.1.1.查询服务器状态:status语法:status⽰例:四个服务器2.1.2.查询HBase版本:version语法:version⽰例:2.1.3.查看当前⽤户:whoami语法:whoami⽰例:2.1.4.退出HBase shell:exit语法:exit⽰例:2.1.5.关闭HBase集群:shutdown语法:shutdown说明:shutdown表⽰关闭HBase服务,必须重新启动HBase才可以恢复,exit只是退出HBase shell,退出之后完全可以重新进⼊。
⽰例:2.1.6.帮助命令:help “命令”语法:help “命令”2.2.DDL操作2.2.1.创建表:create语法:create ‘表名’, {NAME=>’列族名’,VERSIONS=>版本数},{…},…说明:定义表的时候只需要指定列族名,列名在put时动态指定。
⽰例:创建⼀个表名为t1含有三个列族f1,f2,f3。
只指定列族名时可以如下简写。
2.2.2.删除表:drop语法:drop ‘表名’说明:⾸先disable,然后drop⽰例:2.2.3.查看表结构:describe语法:describe ‘表名’说明:只能查看到列族,对列族下的列怎么查看?⽰例:2.2.4.修改表结构:alter语法:说明:修改表结构前必须先disable⽰例1:添加⼀个列族,添加列族f4⽰例2:删除⼀个列族,删除列族f4.⽰例3:修改列族属性,将f1,f2,f3的VERSIONS修改为3⽰例4:修改表属性,如MAX_FILESIZE,MEMSTORE_FLUSHSIZE,READONLY, DEFERRED_LOG_FLUSH ⽰例5:添加⼀个表协同处理器2.2.5.列出所有表:list语法:list⽰例:下⾯显⽰三个表2.2.6.查询表是否存在:exists语法:exists ‘表名’⽰例:2.2.7.查询表是否可⽤:enable,disable,is_enabled,is_disabled语法:enable ‘表名’,disable ‘表名’,is_enabled ‘表名’,is_disabled ‘表名’⽰例:2.3.DML操作2.3.1.添加记录:put语法:put ‘表名’, ’⾏键名’, ’列族名:列名’, ’值’, ‘时间戳’说明:⼀次只能向指定⾏的⼀个列族中的⼀个列put⼀个值,因此必须指定⾏名,列族名:列名。
Hbaseshell命令基本操作
Hbaseshell命令基本操作Hbase shell命令基本操作1、进⼊Hbase shell客户端命令操作界⾯如果配置过hbase环境变量hbase shell如果没有配置过环境变量# 进⼊hbase⽂件夹中cd /hc/install/hbase-2.2.6/bin/hbase shell2、help帮助命令help# 查看具体命令的帮助信息help 'create'3、list查看有哪些表list4、create创建表创建user表,包含info、data两个列族使⽤create命令create 'user', 'info', 'data'#或者create 'user',{NAME => 'info', VERSIONS => '3'},{NAME => 'data'}5、put 插⼊数据操作向表中插⼊数据使⽤put命令#向user表中插⼊信息,row key为rk0001,列族info中添加名为name的列,值为zhangsanput 'user', 'rk0001', 'info:name', 'zhangsan'#向user表中插⼊信息,row key为rk0001,列族info中添加名为gender的列,值为femaleput 'user', 'rk0001', 'info:gender', 'female'#向user表中插⼊信息,row key为rk0001,列族info中添加名为age的列,值为20put 'user', 'rk0001', 'info:age', 20#向user表中插⼊信息,row key为rk0001,列族data中添加名为pic的列,值为pictureput 'user', 'rk0001', 'data:pic', 'picture'6、查询数据操作6.1 通过rowkey进⾏查询获取user表中row key为rk0001的所有信息(即所有cell的数据)使⽤get命令get 'user', 'rk0001'6.2 查看rowkey下某个列族的信息获取user表中row key为rk0001,info列族的所有信息get 'user', 'rk0001', 'info'6.3 查看rowkey指定列族指定字段的值获取user表中row key为rk0001,info列族的name、age列的信息get 'user', 'rk0001', 'info:name', 'info:age'6.4 查看rowkey指定多个列族的信息获取user表中row key为rk0001,info、data列族的信息get 'user', 'rk0001', 'info', 'data'#或者你也可以这样写get 'user', 'rk0001', {COLUMN => ['info', 'data']}#或者你也可以这样写,也⾏get 'user', 'rk0001', {COLUMN => ['info:name', 'data:pic']}6.5 指定rowkey与列值过滤器查询获取user表中row key为rk0001,cell的值为zhangsan的信息get 'user', 'rk0001', {FILTER => "ValueFilter(=, 'binary:zhangsan')"}4.6.6 指定rowkey与列名模糊查询获取user表中row key为rk0001,列标⽰符中含有a的信息get 'user', 'rk0001', {FILTER => "QualifierFilter(=,'substring:a')"}6.7 查询所有⾏的数据查询user表中的所有信息使⽤scan命令scan 'user'6.8 列族查询查询user表中列族为info的信息scan 'user', {COLUMNS => 'info'}#当把某些列的值删除后,具体的数据并不会马上从存储⽂件中删除;查询的时候,不显⽰被删除的数据;如果想要查询出来的话,RAW => true scan 'user', {COLUMNS => 'info', RAW => true, VERSIONS => 5}scan 'user', {COLUMNS => 'info', RAW => true, VERSIONS => 3}6.9 多列族查询查询user表中列族为info和data的信息scan 'user', {COLUMNS => ['info', 'data']}6.10 指定列族与某个列名查询查询user表中列族为info、列标⽰符为name的信息scan 'user', {COLUMNS => 'info:name'}查询info:name列、data:pic列的数据scan 'user', {COLUMNS => ['info:name', 'data:pic']}查询user表中列族为info、列标⽰符为name的信息,并且版本最新的5个scan 'user', {COLUMNS => 'info:name', VERSIONS => 5}6.11 指定多个列族与条件模糊查询查询user表中列族为info和data且列标⽰符中含有a字符的信息scan 'user', {COLUMNS => ['info', 'data'], FILTER => "QualifierFilter(=,'substring:a')"}6.12 指定rowkey的范围查询查询user表中列族为info,rk范围是[rk0001, rk0003)的数据scan 'user', {COLUMNS => 'info', STARTROW => 'rk0001', ENDROW => 'rk0003'}6.13 指定rowkey模糊查询查询user表中row key以rk字符开头的数据scan 'user',{FILTER=>"PrefixFilter('rk')"}6.14 指定数据版本的范围查询查询user表中指定范围的数据(前闭后开)scan 'user', {TIMERANGE => [1392368783980, 1610288780669]}7、更新数据操作7.1 更新数据值更新操作同插⼊操作⼀模⼀样,只不过有数据就更新,没数据就添加使⽤put命令7.2 更新版本号将user表的info列族版本数改为5alter 'user', NAME => 'info', VERSIONS => 58、删除数据以及删除表操作8.1 指定rowkey以及列名进⾏删除删除user表row key为rk0001,列标⽰符为info:name的数据delete 'user', 'rk0001', 'info:name'8.2 指定rowkey,列名以及版本号进⾏删除删除user表row key为rk0001,列标⽰符为info:name,timestamp为1392383705316的数据delete 'user', 'rk0001', 'info:name', 13923837053168.3 删除⼀个列族删除⼀个列族:alter 'user', NAME => 'data', METHOD => 'delete'#或alter 'user', 'delete' => 'info'8.4 清空表数据truncate 'user'8.5 删除表⾸先需要先让该表为disable状态,使⽤命令:disable 'user'然后使⽤drop命令删除这个表drop 'user'(注意:如果直接drop表,会报错:Drop the named table. Table must first be disabled)。
HBase基础之Hbaseshell常用操作
HBase基础之Hbaseshell常⽤操作⼀般操作查看服务器状态status查看hbase版本versionDDL操作创建表create 'member','member_id','address','info'创建了3个列族,分别是member_id, address, info知识点回顾:cf是schema的⼀部分,⽽column不是。
查看表信息describe 'member'DESCRIPTION ENABLED'member', {NAME => 'address', DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTE trueR => 'ROW', REPLICATION_SCOPE => '0', VERSIONS => '1', COMPRESSION => 'NONE', MIN_VERSIONS => '0', TTL => '2147483647', KEEP_DELETED_CELLS =>'false', BLOCKSIZE => '65536', IN_MEMORY => 'false', BLOCKCACHE => 'true'}, {NAME => 'info', DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'ROW', REPLICATION_SCOPE => '0', VERSIONS => '1', COMPRESSION => 'NONE', MIN_VERSIONS => '0', TTL => '2147483647', KEEP_DELETED_CELLS => 'false',BLOCKSIZE => '65536', IN_MEMORY => 'false', BLOCKCACHE => 'true'}, {NAME => 'member_id', DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'ROW',REPLICATION_SCOPE => '0', VERSIONS => '1', COMPRESSION => 'NONE', MIN_VERSIONS => '0', TTL => '2147483647', KEEP_DELETED_CELLS => 'false', BLOCKSIZE => '65536', IN_MEMORY => 'false', BLOCKCACHE => 'true'}1 row(s) in 0.1800 seconds查询所有的表list删除⼀个列族member表建了3个列族,但是发现member_id这个列族是多余的,因为他就是主键,所以我们要将其删除。
hbase shell 常用命令
hbase shell 常用命令HBase Shell 是用于与 HBase 进行交互的命令行工具。
它提供了丰富的命令来管理和操作 HBase 数据库。
下面会详细介绍一些常用的 HBase Shell 命令。
1. 创建表命令:create 'table_name', 'column_family'这个命令用于创建一个新的表。
你需要指定表的名称和列族名称。
列族是表的主要组成部分,用于组织数据。
2. 查看表列表命令:list使用该命令可以列出当前 HBase 中所有的表。
3. 查看表结构命令:describe 'table_name'此命令用于获取指定表的详细结构信息,包括表名、列族以及相关选项。
4. 插入数据命令:put 'table_name', 'row_key', 'column_family:column', 'value'使用该命令可以向指定的表中插入数据。
你需要提供表名、行键、列族、列和值。
5. 查询数据命令:get 'table_name', 'row_key'通过该命令可以根据行键从指定的表中获取数据。
6. 扫描表命令:scan 'table_name'该命令用于扫描整个表的数据,返回结果包括表中的所有行。
7. 删除数据命令:delete 'table_name', 'row_key', 'column_family:column'使用该命令可以删除表中指定行键和列族的数据。
8. 禁用表命令:disable 'table_name'9. 删除表命令:drop 'table_name'该命令用于永久删除指定的表及其所有相关数据。
10. 退出 HBase Shell:exit使用 exit 命令可以退出 HBase Shell。
HBASE的shell操作
HBASE的shell操作前⾔我们知道hbase其实是架构在hdfs上的⼀个分布式数据库,既然是数据库那么这篇⽂章就主要围绕着我们最熟悉的增删改查来做。
当然了,其实hbase的shell操作在真实的企业中⼏乎不⽤,这个很简单,我们的hbase是⽤来存贮海量数据的,还⽤shell来操作,疯了吗?⽐如⼀个查询,可能shell界⾯会⼀直被刷,那么我为啥还会写这篇⽂章呢?其实主要是记录,最重要的是通过他的shell操作能够更好的理解他的存贮本质以及他的架构,也能够为后⾯写API操作打下基础。
在具体开始介绍之前,需要先了解⼀个东西,那就是hbase采⽤是nosql语⾔,也就是和我们熟悉的mysql的语法差距有点⼤,好了,let's do it!本⽂的命令不是重点:重点是知识点,都是知识点呀,同志们!进⼊hbase客户端第⼀个命令就是要进⼊hbase的客户端,直接敲击hbase shellhelp接下来就要认识⼀个神级命令,没错,就是这个help,依稀记得⼩时候的那个学习机,哪⾥不会点哪⾥,有没有⼀起的同年记忆呀,暴露年龄了,不重要,hbase的help命令也是如此,你可以忘记所有的命令,但是这个命令⼀定要记住,哪⾥不会就哪⾥help就⾏了。
创建有了这些前提,就让我们开始今天第⼀个创建命令,也就是所谓的增。
再说这个之前,先来普及⼀下知识点。
认识⼀下什么叫做namespace。
我们想⼀想mysql,是不是有数据库呀?是的,hbase的namespace就是相当于mysql的数据库,数据库下⾯会可以创建表,hbase默认会有两个命名空间,分别为default和hbase。
其中hbase这个命名空间是保存meta的,也就是元数据的,我们就不操作这个了。
另外⼀个defalut 在我们创建表的时候不指定的情况下,所有创建的表就会归类为这个命名空间,或者⽤熟悉的语⾔就是归类在这个数据库⾥⾯了。
好,就让我们先来直观体验⼀下吧,先来看看默认的两个命名空间,执⾏命令:list_namespace可以看到两个。
hbase shell的基本命令
hbase shell的基本命令HBase是一个分布式、可扩展的面向列的NoSQL数据库,它运行在Hadoop集群之上。
HBase提供了一个交互式的命令行工具——HBase Shell,用于与HBase进行交互操作。
本文将介绍HBase Shell的基本命令,包括创建表、插入数据、查询数据、删除数据等操作。
一、连接HBase我们需要使用HBase Shell连接到HBase数据库。
在命令行中输入"hbase shell",即可进入HBase Shell环境。
二、创建表创建表是使用HBase的第一步。
在HBase Shell中,使用"create"命令可以创建表。
例如,我们可以创建一个名为"student"的表,其中包含"info"和"score"两个列族。
具体命令如下:create 'student', 'info', 'score'三、插入数据创建完表之后,我们可以使用"put"命令向表中插入数据。
插入数据需要指定表名、行键、列族、列和值。
以下是插入一条学生信息的命令示例:put 'student', '1001', 'info:name', 'Tom'put 'student', '1001', 'score:math', '90'put 'student', '1001', 'score:english', '85'四、查询数据使用HBase Shell可以方便地查询表中的数据。
通过"get"命令可以根据行键获取对应的数据。
云计算与大数据实验:Hbaseshell基本命令操作
云计算与⼤数据实验:Hbaseshell基本命令操作【实验⽬的】1)了解hbase服务2)学会启动和停⽌服务3)学会进⼊hbase shell环境【实验原理】HBase是⼀个分布式的、⾯向列的开源数据库,它利⽤Hadoop HDFS作为其⽂件存储系统,利⽤Hadoop MapReduce来处理HBase中的海量数据。
本实验时在linux系统中配置hbase环境,通过在hbase shell环境下进⾏对hbase表的基本操作。
【实验环境】本次环境是:centos6.5 + jdk1.7.0_79 + hadoop-2.4.1 + hbase⼯具包在/simple/soft⽬录下【实验步骤】⼀、操作hbase表1.1 启动hadoop服务,执⾏命令start-all.sh,在linux系统中终端执⾏命令:start-hbase.sh回车启动hbase服务。
然后执⾏命令:cd /simple/hbase-0.92-hadoop2/bin进⼊hbasebin⽬录,执⾏连接hbase shell命令:./hbase shell进⼊命令环境,然后执⾏命令:create ‘test’,’cf’创建⼀个表test并指定该表的⼀个列族cf。
如图1所⽰图11.2 上⼀步操作之后创建test表,然后执⾏命令:put ‘test’,’row1’,’cf:a’,’va’为表test按⾏为列族添加列值。
如图2所⽰图21.3 如果想查看⼀下表test中添加的⾏信息,可以执⾏命令:scan ‘test’查看表test中所有的信息。
如图3所⽰图31.4 如果想查看⼀下表test中某⼀⾏的信息,可以执⾏命令:get ‘test’,‘row1’查看表test中指定⾏row的所有的信息。
如图4所⽰图41.5 如果想查看⼀下表test中某⼀⾏列族的某列数据的信息,可以执⾏命令:get ‘test’,‘row1’,‘cf:a’查看表test中指定某⾏列族的某列的信息。
hbase shell命令总结
hbase shell命令总结HBase Shell是HBase的命令行界面,用于与HBase进行交互。
以下是一些常用的HBase Shell命令和它们的功能总结:1. `help 'command'`:显示指定命令的帮助信息。
2. `status`:显示HBase集群的状态信息。
3. `list`:列出当前存在的所有表。
4. `create 'table', 'column_family'`:创建一个新表,并指定列族。
5. `disable 'table'`:禁用指定的表。
6. `enable 'table'`:启用指定的表。
7. `describe 'table'`:显示指定表的结构信息。
8. `alter 'table', {NAME=>'column_family', VERSIONS=>num}`:修改表的列族属性,如版本数。
9. `put 'table', 'rowkey', 'column_family:column', 'value'`:向指定表中插入或更新数据。
10. `get 'table', 'rowkey'`:获取指定表中指定行的数据。
11. `scan 'table'`:扫描指定表中的所有数据。
12. `delete 'table', 'rowkey', 'column_family:column'`:删除指定表中指定行列的数据。
13. `deleteall 'table', 'rowkey'`:删除指定表中指定行的所有数据。
14. `truncate 'table'`:删除指定表的所有数据。
hbase常用命令及使用方法
hbase常用命令及使用方法一、HBase简介HBase是一个基于Hadoop的分布式列存储系统,可以用来存储海量的结构化数据。
它是一个开源的、高可靠性、高性能、可伸缩的分布式数据库,具有强大的数据处理能力和卓越的扩展性。
二、HBase常用命令1.启动和停止HBase服务启动HBase服务:在终端输入start-hbase.sh命令即可启动HBase 服务。
停止HBase服务:在终端输入stop-hbase.sh命令即可停止HBase 服务。
2.创建表创建表:在HBase shell中使用create命令来创建表,语法如下:create 'table_name', 'column_family'3.删除表删除表:在HBase shell中使用disable和drop命令来删除表,语法如下:disable 'table_name'drop 'table_name'4.添加数据添加数据:在HBase shell中使用put命令来添加数据,语法如下:put 'table_name', 'row_key', 'column_family:column_qualifier','value'5.查询数据查询数据:在HBase shell中使用get命令来查询数据,语法如下:get 'table_name', 'row_key'6.扫描全表扫描全表:在HBase shell中使用scan命令来扫描全表,语法如下:scan 'table_name'7.删除数据删除数据:在HBase shell中使用delete命令来删除数据,语法如下:delete 'table_name', 'row_key', 'column_family:column_qualifier'8.修改表修改表:在HBase shell中使用alter命令来修改表,语法如下:alter 'table_name', {NAME => 'column_family', VERSIONS =>version_num}9.查看表结构查看表结构:在HBase shell中使用describe命令来查看表结构,语法如下:describe 'table_name'10.退出HBase shell退出HBase shell:在HBase shell中输入exit命令即可退出。
hbase的shell命令
hbase的shell命令HBase是一款基于Hadoop的分布式数据库,其具有高可伸缩性、高可用性、高性能等优点。
HBase提供了多种接口,其中包括Shell命令接口。
本文将介绍HBase的Shell命令接口以及相关命令操作。
HBase Shell是一款基于命令行的交互式工具,可以用于与集群进行交互,操作数据表和性能调优等。
HBase Shell命令的一般格式是:command [options] arguments。
HBase Shell命令的一般格式:```command [options] arguments```其中,command代表命令名称,options代表选项,arguments代表命令参数。
HBase Shell命令比较多,按照功能分类,可以分为如下几类:1、集群管理命令(cluster)集群管理命令可以用于展示HBase集群的状态信息、历史指标信息、修复分布式文件系统的快照数据丢失等。
例如:```status –用于查看HBase集群的状态,包括集群名称、集群状态、版本号、集群负载等信息version –用于查看HBase集群的版本信息zk_dump –用于查看ZooKeeper的节点信息```2、表管理命令(table)表管理命令可以用于创建、修改和删除HBase中的表以及表的列族,例如:```create ‘tablename’, ‘cf1’, ‘cf2’ –用于创建一张新表,指定表名及列族列表alter ‘tablename’, {NAME => ‘cf1’, VERSIONS => 5} –用于修改指定表的列族信息,修改列族名为cf1的version列限制为5 disable ‘tablename’ –用于禁用一张表dele te ‘tablename’ –用于删除一张表enable ‘tablename’ –用于启用一张表describe ‘tablename’ –用于查看表的详细信息,例如表名、列族名、采用的存储策略、是否采用压缩等信息```3、数据管理命令(data)数据管理命令可以用于向HBase表中插入、查询、更新和删除数据等操作,例如:```put ‘tablename’, ‘rowkey’, ‘cf:qualifier’, ‘value’ –用于向指定表中插入数据,指定行键年龄的一个版本中存储值get ‘tablename’, ‘rowkey’, ‘cf:qualifier’ –用于从指定表中获取数据delete ‘tablename’, ‘rowkey’, ‘cf:qualifier’ –用于删除指定的数据,但会将其存储在HBase垃圾收集器中scan ‘tablename’ –用于扫描表中的所有数据```4、安全管理命令(security)安全管理命令可以用于配置认证授权机制,例如:```user_permission ‘username’ –用于查看指定用户的权限grant ‘username’, ‘action’, ‘permission’ –用于为指定用户分配权限revoke ‘username’, ‘action’, ‘permission’ –用于为指定用户收回权限```5、辅助管理命令(misc)辅助管理命令可以用于打印版本信息、清除缓存、查看配置等操作,例如:```version –用于打印HBase的版本和构建信息hbase –用于打印HBase的所有命令list –用于列出所有数据表clear_cache ‘type’ –用于根据类型清除HBase缓存,包括块缓存、垃圾回收缓存和计数器缓存等```总之,HBase Shell命令提供了非常丰富的接口,可用于实现各种管理和数据操作功能,利用这些命令可以轻松实现HBase数据的管理和维护。
