首页 > 其他分享 >HBase的常用命令

HBase的常用命令

时间:2024-11-17 21:19:50浏览次数:1  
标签:info users scan 常用命令 detail 表名 put HBase

一、general类

1、查看集群的状态

status

2、查看数据库版本

version

3、显示当前用户和组

whoami

4、查看操作表的命令

table_help

5、退出hbase

exit或者ctrl+c

二、DDL相关

注:DDL是用于定义和管理数据库中的结构的命令,例如创建,删除,修改表等操作

1、创建表

注:创建表的时候需要指定表名和列列簇
create 'student','info','detail'

也可指定更多的属性如下:
create 't1', {NAME => 'f1', VERSIONS => 1, TTL => 2592000, BLOCKCACHE => true},{NAME => 'f2',..}

2、修改表结构(添加、删除)

1添加一个列簇

alter '表名','列簇名'

2删除一个列簇

alter '表名',{NMAE=>'列簇名',METHOD=>'delete'}

3修改列簇的属性

修改f1列族的版本为5
alter 't1', NAME => 'f1', VERSIONS => 5

3、获取表的描述

describe

4、列举所有的表

list

5、表是否存在

exists

6、启用表和禁用表

enable启用表

enable 'student'

判断标是否被启动

is_enabled 'student'

disable 禁用表

disable 'student'

判断表是否被禁用

is_disabled

7、删除表

drop
当我们想要删除一个表的时候,需要先将该表禁用
disable
然后再执行删除命令,否则会报错

drop 'student'

8、获取rowKey所在的区locate_region

locate_region '表名','行键'

9、hbase中的命名空间

1、查看hbase中的命名空间

list_namespace

2、为什么要搞命名空间

答:因为hbase中没有数据库的概念,那我们怎么区分表所放的位置呢,就可以使用命名空间,可以起到分类管理表的作用

3、获取命名空间的描述

describe_namespace 'default'

4、查看命名空间下的所有表

list_naemspace_tables 'default'

5、创建命名空间

create_namespace 'bigdata32'

6、删除命名空间

drop_namespace 'bigdata32'

DML相关

注:DML指的是操作数据库语言

1、插入或者修改数据put

put '表名','行键','列族名','列值'
put '表名','行键','列族名:列名','列值'

创建表

create 'users', 'info', 'detail', 'address'

第一行数据

put 'users', 'mengday', 'info:id', '1'
put 'users', 'mengday', 'info:name', '张三'
put 'users', 'mengday', 'info:age', '28'
put 'users', 'mengday', 'detail:birthday', '1990-06-26'
put 'users', 'mengday', 'detail:email', '[email protected]'
put 'users', 'mengday', 'detail:create_time', '2019-03-04 14:26:10'
put 'users', 'mengday', 'address', '上海市'

第二行数据

put 'users', 'vbridbest', 'info:id', '2'
put 'users', 'vbridbest', 'info:name', '李四'
put 'users', 'vbridbest', 'info:age', '27'
put 'users', 'vbridbest', 'detail:birthday', '1990-06-27'
put 'users', 'vbridbest', 'detail:email', '[email protected]'
put 'users', 'vbridbest', 'detail:create_time', '2019-03-05 14:26:10'
put 'users', 'vbridbest', 'address', '北京市'

第三行数据

put 'users', 'xiaoming', 'info:id', '3'
put 'users', 'xiaoming', 'info:name', '王五'
put 'users', 'xiaoming', 'info:age', '26'
put 'users', 'xiaoming', 'detail:birthday', '1990-06-28'
put 'users', 'xiaoming', 'detail:email', '[email protected]'
put 'users', 'xiaoming', 'detail:create_time', '2019-03-06 14:26:10'
put 'users', 'xiaoming', 'address', '杭州市'

2、全表扫描scan

scan '表名'

扫描整个列族

sacn 'users',{COLUMN=> '列族名'}

扫描整个列族的某一个列

scan 'users',{COLUMN=>'info:age'}

3、获取数据get

get '表名','行键'
get 'users','mengday'

根据某一行某列族的数据

get '表名', '行键', '列族名'
get 'users', 'xiaoming', 'info'

4、删除某个列族中的某个列delete

delete '表名','行键','列族名:列名'

delete 'users','xiaoming','info:age'

5、删除某行数据

deleteall '表名','行键'

deleteall 'users','xiaoming'

6、清除整个表中的数据truncate

truncate '表名'

7、自增incr

incr '表名', '行键', '列族:列名', 步长值

incr 'tbl_user', 'xiaohong', 'info:age', 1

8、计数器

get_counter
create 'counters', 'daily', 'weekly', 'monthly'
incr 'counters', '20240415', 'daily:hits', 1
incr 'counters', '20110101', 'daily:hits', 1
get_counter 'counters', '20110101', 'daily:hits'

9、修饰词

修饰词

scan '表名', {COLUMNS => [ '列族名1:列名1', '列族名1:列名2', ...]}

TIMESTAMP 指定时间戳

scan '表名',{TIMERANGE=>[timestamp1, timestamp2]}

VERSIONS

默认情况下一个列只能存储一个数据,后面如果修改数据就会将原来的覆盖掉,可以通过指定VERSIONS时HBase一列能存储多个值。

alter 'tbl_test', { NAME=>'columnFamily1', VERSIONS=>3 }

put 'tbl_test', 'rowKey1', 'columnFamily1:column1', 'value1'
put 'tbl_test', 'rowKey1', 'columnFamily1:column1', 'value2'
put 'tbl_test', 'rowKey1', 'columnFamily1:column1', 'value3'

STARTROW

ROWKEY起始行。会先根据这个key定位到region,再向后扫描
scan '表名', { STARTROW => '行键名'}

STOPROW :截止到STOPROW行,STOPROW行之前的数据,不包括STOPROW这行数据

scan '表名', { STOPROW => '行键名'}

LIMIT 返回的行数

scan '表名', { LIMIT => 行数}

10、条件过滤器

1、ValueFilter值过滤器

scan '表名', FILTER=>"ValueFilter(=,'binary:列值')"

scan '表名', FILTER=>"ValueFilter(=,'substring:列值')"

如:
scan 'tbl_user', FILTER=>"ValueFilter(=, 'binary:26')"
scan 'tbl_user', FILTER=>"ValueFilter(=, 'substring:6')"

2、ColumnPrefixFilter 列名前缀过滤器

scan '表名', FILTER=>"ColumnPrefixFilter('列名前缀')"
如:
scan 'tbl_user', FILTER=>"ColumnPrefixFilter('birth')"

标签:info,users,scan,常用命令,detail,表名,put,HBase
From: https://www.cnblogs.com/ndmtzwdx/p/18551127

相关文章

  • Hbase架构和搭建
    一、了解Hbase1、什么是hbase?HBase是一个高可靠性,高性能、面向列,可伸缩的分布式存储系统,用于存储海量结构化或者半结构化,非结构化的数据(底层是字节数组做存储的)二、HBase相关概念1、数据模型(三维有序)一个hbase表中,行键之间是按照字典顺序排序的一行中每一个列名按照字典顺......
  • HBase
    什么是hbase?HBase是一个高可靠,高性能,面对列可伸缩的分布式文件系统,可以存储海量的结构化,半结构化,非结构化数据(底层是按照字节数组存储的)(HBase利用HDFS作为文件存储系统,利用zookeeper作为元数据的元数据存储)HBase与HDFS比较HBase内部使用哈希表提供随机接入通过HashMap键......
  • HBase架构与基础命令
    HBase架构与基础命令一、了解HBase官方文档:https://hbase.apache.org/1.1 HBase概述HBase是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,用于存储海量的结构化或者半结构化,非结构化的数据(底层是字节数组做存储的)HBase是Hadoop的生态系统之一,是建立在Hadoop文件......
  • Linux常用命令之echo命令详解
    echo命令详解echo是一个常用的shell内置命令,用于在终端或脚本中输出文本或变量内容。echo命令的基本功能是将指定的字符串或变量值输出到标准输出(通常是终端)。它在脚本编程和日常系统管理中非常有用。基本语法echo[选项][字符串...]常用选项-n:不输出结尾的换......
  • hbase-2.2.7-分布式搭建
    1、下载安装包并上传到Linux,然后解压2、配置环境变量vim/etc/profile增加下面配置exportHBASE_HOME=/usr/local/soft/hbase-2.2.7exportPATH=$PATH:$HBASE_HOME/bin3、加载环境变量source/etc/profile4、修改配置文件vimhbase-env.sh增加下面配置ex......
  • Linux常用命令之find命令详解
    find命令详解find是Unix和类Unix操作系统(如Linux和macOS)中一个非常强大的命令行工具,用于在文件系统中搜索文件和目录。find命令可以根据多种条件(如文件名、类型、大小、修改时间等)进行搜索,并可以执行复杂的操作。基本语法find命令的基本语法如下:find[路径]......
  • hbase-2.2.7分布式搭建文档(附详细操作步骤命令及相关操作截图)
    hbase-2.2.7分布式搭建文档一,搭建前准备1.检查是否已经安装JDK2.搭建hbase前需要先搭建好hadoop3.检查zookeeper是否正常启动#启动zookeeper(三台都要启动)zkServer.shstart#查看zookeeper状态(一个leader两个follower)zkServer.shstatus4.到官网或国内镜像站下载hba......
  • Linux常用命令之dd命令详解
    dd命令详解dd命令是Unix和Linux系统中一个非常强大的工具,用于转换和复制文件。它可以用来备份和恢复磁盘或分区、创建和修改文件系统、以及进行各种数据操作。dd命令的灵活性和强大功能使其在系统管理、数据恢复和安全领域中广泛使用。基本语法dd[选项]if=输入......
  • 【大数据学习 | HBASE高级】hbase-phoenix 与二次索引应用
    1. hbase-phoenix的应用1.1概述:上面我们学会了hbase的操作和原理,以及外部集成的mr的计算方式,但是我们在使用hbase的时候,有的时候我们要直接操作hbase做部分数据的查询和插入,这种原生的方式操作在工作过程中还是比较常见的,以上这些方式需要使用外部的框架进行协助处理,其实hb......
  • HBase基础知识分享(二)
    HBase的Split机制Region的分裂策略HBase中的Region存储的是一张表的数据。当Region中的数据条数过多时,会直接影响查询效率,过大的Region会被拆分为两个Region,HMaster会将这些分裂的Region分配到不同的RegionServer上,最终达到负载均衡的目的,这是HBase的一个优点。常见的Region分......