HBASE使用Shell命令创建表

现在想要创建如下格式的表用来存储数据,请在HBase中使用Shell命令实现
在这里插入图片描述进入HBase Shell环境

[root@cdh03 ~]# hbase  shell

先创建表(这里没有指定表空间,使用的默认的,如果想指定表空间可以使用 xxNameSpace:TableName的形式)

hbase(main):051:0> create 'emp',{NAME => 'self'},{NAME => 'social'},{NAME => 'addressHis'}

NAME一定要大写是固定的语法
接着往里面放数据就完事了

hbase(main):044:0> put 'emp','row1','self:name','Rone'
hbase(main):045:0> put 'emp','row1','self:age','18'
hbase(main):046:0> put 'emp','row1','self:height','180cm'
hbase(main):047:0> put 'emp','row1','self:weight','65kg'
hbase(main):048:0> put 'emp','row1','social:job','Big Data Engineer'
hbase(main):049:0> put 'emp','row1','social:CurrCompany','AWS'
hbase(main):050:0> put 'emp','row1','social:oldCompany','QQC'
hbase(main):051:0> put 'emp','row1','addressHis:tenYearsAgo','JiangsuXuZhou'
hbase(main):052:0> put 'emp','row1','addressHis:fiveYearsAgo','JiangsuNanJing'
hbase(main):053:0> put 'emp','row1','addressHis:now','ShangHai' 

现在第一行数据全部put进去了 ,现在看一下存储的内容

hbase(main):055:0> scan 'emp'

在这里插入图片描述Alex与Adam的put数据是一样的我就不写了,格式规则如下

put  '[表空间:]表名' ,'行','列簇  :  列',' Value'

查询数据
查询第一行的所有数据

hbase(main):057:0> get 'emp','row1'

在这里插入图片描述查询某行某一列簇的所有值
get ‘表名’,‘行’,‘列簇名’

hbase(main):058:0>get 'emp','row1','self'

在这里插入图片描述
查询表中某行+某一列簇+某一列的值
get ‘表名’,‘行’,‘列簇名:列名’

hbase(main):059:0> get 'emp','row1','self:name'

在这里插入图片描述更新数据
更新某一行,其实就是在重新put一下,就是更新操作了
这里更新一下Rone的Age字段为999

hbase(main):060:0> put 'emp','row1','self:age','999'

在这里插入图片描述删除某一列簇

hbase(main):069:0> alter 'emp',{NAME => 'addressHis',METHOD => 'delete'}

在这里插入图片描述清空表

hbase(main):079:0> truncate 'emp'

在这里插入图片描述新增一列列簇(表需要处于Disabled状态)

hbase(main):022:0> alter 'emp',{NAME => 'addressHis'},{NAME => 'self'}

新增多列列簇

 alter 'emp',{NAME => 'addressHis'},{NAME => 'selfs'}

为新增的列簇添加列+赋值(表需要处于Enable状态
put ‘表名’,‘行号’,‘列簇:新增的列名’,‘值

hbase(main):024:0> put 'emp','row1','self:name','Jhon'

删除表
首先要disabled要删除的表,然后再删除

hbase(main):076:0> disable 'emp'
hbase(main):077:0> drop 'emp'
  • 15
    点赞
  • 88
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: HBaseshell命令创建表的步骤如下: 1. 打开HBase shell,输入命令hbase shell 2. 创建表,输入命令:create '名', '列族1', '列族2', ... 例如,创建一个名为student的,包含两个列族info和score,命令如下: create 'student', 'info', 'score' 3. 查看结构,输入命令:describe '名' 例如,查看student的结构,命令如下: describe 'student' 4. 插入数据,输入命令:put '名', '行键', '列族:列名', '值' 例如,向student中插入一条数据,行键为1001,列族为info,列名为name,值为张三,命令如下: put 'student', '1001', 'info:name', '张三' 5. 查询数据,输入命令:get '名', '行键' 例如,查询student中行键为1001的数据,命令如下: get 'student', '1001' 以上就是HBaseshell命令创建表的步骤。 ### 回答2: HBase是一个开源的、分布式的非关系型数据库,它类似于关系型数据库,但具有更高的可扩展性和容错性。HBase是建立在Hadoop分布式文件系统之上的,因此具有与Hadoop相同的分布式部署和管理特性,可以在集群中快速进行水平扩展。 HBaseshell命令可以非常方便地在终端中创建、管理和查询,下面我们来介绍一下如何使用HBaseshell命令创建表。 首先我们需要启动HBaseShell命令行界面,直接在终端输入hbase shell即可进入。 接下来我们可以使用HBase的create命令创建表。create命令的基本语法如下: create 'tablename', {COLUMN_FAMILY => 'cf', VERSIONS => 'x', TTL => 'y'} 其中,tablename指定要创建名,cf指定列族名,x指定列族的最大版本数,y指定该列族的超时时间(TTL)。如果不指定版本和TTL的值,默认的版本数是1,没有TTL限制。 例如,我们要创建一个名为student的,有一个列族info,最大版本数为5,TTL为一周,可以使用以下命令: create 'student', {NAME=>'info',VERSIONS=>5,TTL=>604800} 执行完毕后,会显示创建成功的消息。接下来我们就可以在中添加数据了。 此外,我们还可以使用describe命令查看的结构信息,如名、列族、版本数、TTL等。例如,我们可以通过以下命令查看student的结构: describe 'student' 以上就是使用HBaseshell命令创建表的基本步骤。在实际的开发中,我们可以根据自己的需要来创建不同结构的,来满足不同的业务需求。 ### 回答3: HBase是一个基于Hadoop的分布式数据库,它具有高可靠性、高性能、海量的数据存储和处理能力。在HBase中,我们可以通过shell命令完成创建、查询、修改等操作。在本文中,我们将介绍使用HBaseshell命令创建表。 首先,我们需要启动HBaseshell,输入命令hbase shell”即可进入。接着,我们需要创建一个HBase创建分为两步:第一步是创建表的描述信息,第二步是启动创建表描述信息的命令格式为: create ‘table_name’, ‘columnfamily’ 其中,table_name为的名称,columnfamily为列族的名称。列族通常是一组逻辑字段的集合,可以看做是的一个组成部分。例如,一个HBase可以包含多个列族,每个列族都有其自己的属性和结构。 例如,我们要创建一个名为students的,包含两个列族,一个是info列族,包含学生的基本信息,另一个是score列族,包含学生的分数信息。则创建表命令为: create ‘students’, ‘info’, ‘score’ 执行该命令后,系统将会创建一个描述信息,但此时还没有启动,我们需要使用HBase的enable命令启动。启动命令为: enable ‘table_name’ 例如我们要启动students,则执行命令为: enable ‘students’ 这样就完成HBase创建。需要注意的是,在创建表的过程中,我们还可以指定的版本数量、max_versions、数据存储区域数等信息,进一步扩展了HBase的功能。 总之,HBaseshell命令创建表十分简单,只需要按照一定的格式输入相应的命令即可完成。同时,根据实际需求,还可以根据需要对进行结构和参数的调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值