Hbase数据结构和shell操作

Hbase的数据结构

基本要素:命名空间、表、行、列、单元格,region,时间戳。

1.命名空间:NameSpaces的作用

Table:表,所有的表都是命名空间的成员,即表必属于某个命名空间,如果没有指定,则在default默认的命名空间中。

RegionServer group:一个命名空间包含了默认的RegionServer Group。

Permission:权限,命名空间能够定义访问控制列表ACL(Access Control List)。例如,创建表,读取表,删除,更新等等操作。

Quota:限额,可以强制一个命名空间可包含的region的数量。

2.表:概念上可以理解为关系型数据库的表。

3.行:行键rowkey是行的唯一标识元素,表中的数据存储根据行键进行排序,数据的访问也是通过行键进行。

4.列:(列族:列名)表中的每个列,都归属于某个列族,列族是表的schema的一部分(列不是),必须在使用表之前定义,列名都以列族作为前缀;例如info:name,info:age,info:class都属于info这个列族。

5.单元格: 单元格cell中存放的是不可分割的字节数组,每个单元格拥有版本信息,插入数据时若没有设置版本,则为默认版本。

6.region:region将表水平划分,是Hbase集群分布数据的最小单位,在线的所有区域就构成了表的内容。

7.时间戳:Hbase 中每个 cell都保存着同一份数据的多个版本,版本通过时间戳来索引,插入数据时可以设置时间戳的值,若未设置则生成默认时间戳。

Hbase的Shell操作

在任意节点主机上使用hbase shell即可连接到已经启动的Hbase实例:

  1 # hbase shell

输入help可以显示帮助文档内容,status可以查看Hbase集群状态:

  1 > help

status提供HBase的状态:

  1 > status

version提供正在使用Hbase版本:

  1 > version

create用于创建表,创建时必须指定表名和ColumnFamily名称:

  1 > create ‘testtable‘,‘infofamily‘

list用于查看HBase中所有的表:

  1 > list

describe命令可以查看某个表的信息:

  1 > describe ‘testtable‘

alter用于修改一个表,例如添加列族:

  1 > alter ‘testtable‘,NAME=>‘basic‘

使用describe命令查看添加列族后的表信息:

使用alter命令删除列族:

  1 > alter ‘testtable‘,NAME=>‘basic‘,‘METHOD‘=>‘delete‘

使用disable命令可以禁用表,在做删除表或其他的操作时,需要在表禁用的情况下才能进行操作,使用enable命令可以将禁用的表格重新启用:

  1 > disable ‘testtable‘
  1 > enable ‘testtable‘

使用drop命令可以删除已经禁用的表(必须先disable表,否则会报出错误提示):

  1 > disable ‘testtable‘
  2 > drop ‘testtable‘

再创建一个表testtableone:

  1 > create ‘testtableone‘,‘info‘

使用put命令可以向表中添加数据,put命令格式:

  1 > put ‘表名‘,‘行键‘,‘列族:列名‘,‘VALUE‘
  1 > put ‘testtableone‘,‘row1‘,‘info:name‘,‘Jack‘

使用get命令可以看某行数据信息:

  1 > get ‘testtableone‘,‘row1‘

使用scan可以查看表中所有行的数据信息:

  1 > scan ‘testtableone‘

delete用于删除表中的单元格值,delete命令格式:

  1 > delete ‘表名‘,‘行键‘,‘列族:列名‘,时间戳

先往表中多插入几条数据。

注意:此处在插入数据时,先插入的row2行数据Bob,由于在后续插入数据时,行键row2没有更改,所以Bob数据直接被Lucy替换了。

删除Jack的class单元格数据:

  1 > delete ‘testtableone‘,‘row1‘,‘info:class‘,1566182654321

deleteall用于删除给定行的所有单元格:

  1 > delete ‘表名‘,‘行键‘

删除row1行的所有单元格数据:

  1 > deleteall ‘testtableone‘,‘row1‘

count用于计数并返回表中的行的数值:

  1 > count ‘testtableone‘

至此常用的命令列举完成。

原文地址:https://www.cnblogs.com/Dcl-Snow/p/11433031.html

时间: 2024-10-09 16:29:35

Hbase数据结构和shell操作的相关文章

Hbase快速开始——shell操作

一. 介绍 HBase是一个分布式的.面向列的开源数据库,源于google的一篇论文<bigtable:一个结构化数据的分布式存储系统>.HBase是Google Bigtable的开源实现,它利用Hadoop HDFS作为其文件存储系统,利用Hadoop MapReduce来处理HBase中的海量数据,利用Zookeeper作为协同服务.  HBase以表的形式存储数据.表有行和列组成.列划分为若干个列族/列簇(column family).       如上图所示,key1, key2,

hbase之python利用thrift操作hbase数据和shell操作

前沿: 以前都是用mongodb的,但是量大了,mongodb显得不那么靠谱,改成hbase撑起一个量级. HBase是Apache Hadoop的数据库,能够对大型数据提供随机.实时的读写访问.HBase的目标是存储并处理大型的数据.HBase是一个开源的,分布式的,多版本的,面向列的存储模型.它存储的是松散型数据. HBase提供了丰富的访问接口. HBase Shell Java clietn API Jython.Groovy DSL.Scala REST Thrift(Ruby.Pyt

HBase(三)HBase集群Shell操作

一.进入HBase命令行 在你安装的随意台服务器节点上,执行命令:hbase shell,会进入到你的 hbase shell 客 户端 [[email protected] ~]$ hbase shell SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding in [jar:file:/opt/module/hbase-1.2.6/lib/slf4j-log4j12-1.7.5.jar!/org/slf

HBase的SHELL操作和API

1.表结构: 2.SHELL操作 命令:hbase shell 显示表:list 创建表:create 'tb_name','column_family_1','column_family_2',...; 或者 create 'user', {NAME => 'column_family_1', VERSIONS => '3'} 插入数据:put 'tb_name','rk_on','column_family : key','value' 获取数据: 获取所有数据:get 'tb_name'

HBASE之shell操作和Java访问

对数据库HBASE的操作有shell端和java API两种方式. 在此之前要先说一下HBASE的结构及其数据存储结构: HBASE是基于HDFS的,是一种NoSQL的数据库.它的数据模型如下所示: Row Key Timestamp Column Family URI Parser r1 t3 url=http://www.taobao.com title=天天特价 t2 host=taobao.com   t1     r2 t5 url=http://www.alibaba.com con

hbase shell操作语句

2019/2/19 星期二 hbase shell操作语句基本shell 命令 进入hbase 命令行./hbase shell显示hbase 中的表list创建user 表,包含info.data 两个列族create 'user', 'info1', 'data1'create 'user', {NAME => 'info', VERSIONS => '3'}向user 表中插入信息,row key 为rk0001,列族info 中添加name 列标示符,值为zhangsanput 'us

HBase ——Shell操作

HBase ——Shell操作 Q:你觉得HBase是什么? A:一种结构化的分布式数据存储系统,它基于列来存储数据. 基于HBase,可以实现以廉价PC机器集群存储海量数据的分布式数据库的解决方案. 一般用于数据量巨大但查询简单的场景,典型场景包括:账单记录,订单流水,交易记录,数据库的历史记录 建立表 HBase中没有数据库的概念,但是存在命名空间的概念,在使用上类似库名,但实际上只是一个目录名. 另外要记住,HBase中大部分数据都是以HashMap的形式组织的,因此很多时候都能看到类似

19.2.20HBase的shell操作

Shell操作进入hbase命令行./hbase shell显示hbase中的表:list 创建user表,包含info.data两个列族:create 'user', 'info1', 'data1': #一种 只有一个版本create 'user', {NAME => 'info', VERSIONS => '3'} #有多个版本hbase(main):012:0> put 'user','rk0001','info:name','zhangsan'Took 0.0782 secon

每篇半小时1天入门MongoDB——2.MongoDB环境变量配置和Shell操作

上一篇:每篇半小时1天入门MongoDB——1.MongoDB介绍和安装 配置环境变量 Win10系统为例 右键单击“此电脑”——属性——高级系统设置——高级——环境变量,添加C:\Program Files\MongoDB\Server\3.0\bin;.注意:要以;隔开各种变量. 这样的话就可以直接在CMD命令窗口中输入mongo 表示环境变量设置成功,并已经连接到默认数据库test中. 我们可以输入mongod --help来查看相关的帮助信息 C:\Users\zouqi>mongod