HBase】【大数据基础】hbase数据库查询命令有什么

2020-12-27 15:54发布

9条回答
天天
2楼 · 2020-12-27 16:01

1、查看单行记录:get '表名称', '行名称'

2、查看表中的记录总数:count '表名称'

3、查看表所有记录:scan "表名称"

4、查看表某个列所有记录:scan "表名称" , ['列名称:']

5、查看有哪些表:list

6、查看表结构:describe '表名'

7、查询表是否存在:exists 'member'




不吃鱼的猫
3楼 · 2020-12-27 16:27

get '表名称', '行名称'

count '表名称'

scan "表名称"

scan "表名称" , ['列名称:']

list

describe '表名'

exists 'member'


HBase数据库常用操作命令

一个student表,表的逻辑模型如下: 行键为学号,时间戳是自动添加的,列族name是名字,列族score是各科分数。行键是唯一的。

行键时间戳列族name列族score
20130001T2'zhangsan'
T3
score:Chinese='90'
T4
score:English='80'
20130002T5'lisi'
T6
score:Chinese='95'
......Tn

 

 进入HBase的shell:

[coder@h1 hbase-0.90.5]$ bin/hbase shell
HBase Shell; enter 'help' for list of supported commands.
Type "exit" to leave the HBase Shell
Version 0.90.5, r1212209, Fri Dec  9 05:40:36 UTC 2011hbase(main):001:0>

1、创建student表

hbase(main):002:0> create 'student','name','score'0 row(s) in 2.0570 seconds

hbase(main):003:0>

  student:表名

  name:列族

  score:列族

2、查看已创建的表

hbase(main):001:0> list
TABLE                                                                                                                          
student                                                                                                                        
1 row(s) in 0.7590 seconds

hbase(main):002:0>

3、向表中插入数据

  使用put命令插入数据,参数为表名、行名(行键)、列名、值,其中列名需要列族作为前缀。

  1)向student表中插入学号(行键)为2013001、名字为zhangsan的记录

hbase(main):001:0> put 'student','2013001','name:','zhangsan'0 row(s) in 1.1090 seconds

  2)查看表的记录

hbase(main):002:0> scan 'student'
ROW                              COLUMN+CELL                                                                                   
 2013001                         column=name:, timestamp=1365846723665, value=zhangsan                                         
1 row(s) in 0.2110 seconds

  3)给学号为2013001的学生记录分数

hbase(main):003:0> put 'student','2013001','score:Chinese','90'0 row(s) in 0.0360 seconds

  

hbase(main):005:0> put 'student','2013001','score:English','80'0 row(s) in 0.0290 seconds

 

hbase(main):006:0> scan 'student'
ROW                              COLUMN+CELL                                                                                   
 2013001                         column=name:, timestamp=1365846723665, value=zhangsan                                         
 2013001                         column=score:Chinese, timestamp=1365846877328, value=90                                       
 2013001                         column=score:English, timestamp=1365846957089, value=80                                       
1 row(s) in 0.0580 seconds

  4)查看表中记录总数

hbase(main):007:0> count 'student'1 row(s) in 0.0990 seconds

4、查看一行记录

  使用get命令,参数为表名、行键

hbase(main):007:0> get 'student','2013001'
COLUMN                           CELL                                                                                          
 name:                           timestamp=1365846723665, value=zhangsan                                                       
 score:Chinese                   timestamp=1365846877328, value=90                                                             
 score:English                   timestamp=1365846957089, value=80                                                             
3 row(s) in 0.0350 seconds

5、判读一个表是否存在

复制代码

复制代码

hbase(main):001:0> exists 'student'
Table student does exist                                                                                                       
0 row(s) in 1.0400 seconds

hbase(main):002:0> exists 'student2'
Table student2 does not exist                                                                                                  
0 row(s) in 0.0150 seconds

复制代码

复制代码

6、更新一条记录

复制代码

复制代码

hbase(main):001:0> put 'student','2013001','score:Chinese','100'0 row(s) in 0.8070 seconds

hbase(main):002:0> get 'student','2013001'
COLUMN                           CELL                                                                                          
 name:                           timestamp=1365846723665, value=zhangsan                                                       
 score:Chinese                   timestamp=1365848492778, value=100                                                            
 score:English                   timestamp=1365846957089, value=80                                                             
3 row(s) in 0.0690 seconds

hbase(main):003:0>

复制代码

复制代码

7、获取某一列的值

复制代码

复制代码

hbase(main):002:0> get 'student','2013001','score'
COLUMN                           CELL                                                                                          
 score:Chinese                   timestamp=1365848492778, value=100                                                            
 score:English                   timestamp=1365846957089, value=80                                                             
2 row(s) in 0.0340 seconds

hbase(main):003:0> get 'student','2013001','score:Chinese'
COLUMN                           CELL                                                                                          
 score:Chinese                   timestamp=1365848492778, value=100                                                            
1 row(s) in 0.0320 seconds

hbase(main):004:0>

复制代码

复制代码

8、删除整行

  把行键为2013002的这一条记录删掉

复制代码

复制代码

hbase(main):001:0> scan 'student'
ROW                              COLUMN+CELL                                                                                   
 2013001                         column=name:, timestamp=1365846723665, value=zhangsan                                         
 2013001                         column=score:Chinese, timestamp=1365848492778, value=100                                      
 2013001                         column=score:English, timestamp=1365846957089, value=80                                       
 2013002                         column=name:, timestamp=1365847639588, value=lisi                                             
 2013002                         column=score:Chinese, timestamp=1365847666351, value=70                                       
 2013002                         column=score:English, timestamp=1365847709403, value=85                                       
2 row(s) in 0.7380 seconds

hbase(main):002:0> deleteall 'student','2013002'0 row(s) in 0.0150 seconds

hbase(main):003:0> scan 'student'               
ROW                              COLUMN+CELL                                                                                   
 2013001                         column=name:, timestamp=1365846723665, value=zhangsan                                         
 2013001                         column=score:Chinese, timestamp=1365848492778, value=100                                      
 2013001                         column=score:English, timestamp=1365846957089, value=80                                       
1 row(s) in 0.0390 seconds

hbase(main):004:0>

复制代码

复制代码

9、删除表

  删除表之前需要先disable表

hbase(main):005:0> disable 'user'0 row(s) in 2.1600 seconds

hbase(main):006:0> drop 'user'   
0 row(s) in 1.3750 seconds


三岁奶猫
5楼 · 2020-12-28 11:16

get '表名称', '行名称'

count '表名称'

scan "表名称"

scan "表名称" , ['列名称:']

list

describe '表名'

exists 'member'


张成秀 - 快乐开心每一天
6楼 · 2020-12-28 11:17

比如现在我有一张'student'表,表中有3行为‘rowkey:001’,‘rowkey:002’,‘rowkey:003’;列族‘baseinfo'下有列限定符’name‘,’age‘等,如何显示全部学生的’age‘信息?

名称命令表达式
查看存在哪些表list
创建表create '表名称', '列名称1','列名称2','列名称N'
添加记录put '表名称', '行名称', '列名称:', '值'
查看记录get '表名称', '行名称'
查看表中的记录总数count '表名称'
删除记录delete '表名' ,'行名称' , '列名称'
删除一张表先要屏蔽该表,才能对该表进行删除,第一步 disable '表名称' 第二步 drop '表名称'
查看所有记录scan "表名称"
查看某个表某个列中所有数据scan "表名称" , ['列名称:']
更新记录就是重写一遍进行覆


无奈的飘过
8楼 · 2021-01-03 17:32

1、查看单行记录:get '表名称', '行名称'

2、查看表中的记录总数:count '表名称'

3、查看表所有记录:scan "表名称"

4、查看表某个列所有记录:scan "表名称" , ['列名称:']

5、查看有哪些表:list

6、查看表结构:describe '表名'

7、查询表是否存在:exists 'member'


ablabla
9楼 · 2021-01-05 13:56

1、查看单行记录:get '表名称', '行名称'

2、查看表中的记录总数:count '表名称'

3、查看表所有记录:scan "表名称"

4、查看表某个列所有记录:scan "表名称" , ['列名称:']

5、查看有哪些表:list

6、查看表结构:describe '表名'

7、查询表是否存在:exists 'member'


相关问题推荐

  • 回答 1

  • 回答 2

    可以调一下系统时间,使用date命令,一般节点掉了都是时间不同步。

  • 回答 1

    Hbase安装与启动一,前言二,前期准备  2.1 文件下载  2.2 服务器准备三,配置文件配置  3.1 hbase-env.sh  3.2 hbase-site.xml  3.3 regionservers  3.4 将hbase的bin目录添加到环境变量  3.5 Hbase的官方配置文档四,Hbase服务启动  4.1 ...

  • 回答 3

    首先介绍部署 HBase 之前需要做的准备工作,如 Java、SSH 和 Hadoop 这些先决条件的配置;然后介绍如何安装 HBase,以及如何配置集群中相关文件。同时需要注意的是,本节介绍的是分布式 HBase 集群的部署,在对一台机器修改配置文件后需要同步到集群中的所有...

  • 回答 1

    HBase安装HBase的安装也分为三种,单机版、伪分布式、分布式。我们首先来安装单机版。单机版首先我们去官网下载好HBase的安装包;接下来,将压缩包解压缩到你想安装的目录(我解压到的是/app目录):tar -zxvf hbase-2.1.0-bin.tar.gz /app安装单机版很简...

  • 回答 24

    HBase分布式数据库具有如下的显著特点:容量大:HBase分布式数据库中的表可以存储成千上万的行和列组成的数据。面向列:HBase是面向列的存储和权限控制,并支持独立检索。列存储,其数据在表中是按照某列存储的,根据数据动态的增加列,并且可以单独对列进行...

  • 回答 15

    hbase与传统数据库的区别1.数据类型:Hbase只有简单的数据类型,只保留字符串;传统数据库有丰富的数据类型。2.数据操作:Hbase只有简单的插入、查询、删除、清空等操作,表和表之间是分离的,没有复杂的表和表之间的关系;传统数据库通常有各式各样的函数和连...

  • 回答 14

    1、HBase写快读慢,HBase的读取时长通常是几毫秒,而Redis的读取时长通常是几十微秒。性能相差非常大。2、HBase和Redis都支持KV类型。但是Redis支持List、Set等更丰富的类型。3、Redis支持的数据量通常受内存限制,而HBase没有这个限制,可以存储远超内存大小...

  • 回答 9

    启动HBase集群:bin/start-hbase.sh单独启动一个HMaster进程:bin/hbase-daemon.sh start master单独启动一个HRegionServer进程:bin/hbase-daemon.sh start regionserver

  • 回答 5

    hbase的八大应用场景1、对象存储:我们知道不少的头条类、新闻类的的新闻、网页、图片存储在HBase之中,一些病毒公司的病毒库也是存储在HBase之中2、时序数据:HBase之上有OpenTSDB模块,可以满足时序类场景的需求3、推荐画像:特别是用户的画像,是一个比较...

  • 回答 1

  • 回答 6

    1、频繁刷写我们知道Region的一个列族对应一个MemStore,假设HBase表都有统一的1个列族配置,则每个Region只包含一个MemStore。通常HBase的一个MemStore默认大小为128 MB,见参数hbase.hregion.memstore.flush.size。当可用内存足够时,每个MemStore可以分配...

  • 回答 3

    避免HBase经常split,产生不必要的资源消耗,提高HBase的性能。

  • 回答 4

    HBase每张表在底层存储上是由至少一个Region组成,Region实际上就是HBase表的分区。HBase新建一张表时默认Region即分区的数量为1,一般在生产环境中我们都会手动给Table提前做 预分区,使用合适的分区策略创建好一定数量的分区并使分区均匀分布在不同regions...

  • 回答 3

    关于每个regionserver节点分区数量大致合理的范围,HBase官网上也给出了定义:Generally less regions makes for a smoother running cluster (you can always manually split the big regions later (if necessary) to spread the data, or re......

没有解决我的问题,去提问