我是靠谱客的博主 细心乐曲,最近开发中收集的这篇文章主要介绍hbase php 增删改查,HBase基础操作:命名空间、建删改表、增删改查、分区,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

启动HBase

[root@master bin]# ./start-hbase.sh

进入HBase数据库

[root@master bin]# hbase shell

查看数据库状态

hbase(main):001:0> status

1 active master, 0 backup masters, 3 servers, 0 dead, 0.6667 average load

表示有3台机器活着,0台机器down掉,当前负载0.67(数字越大,负载越大)

执行help查询帮助

general:普通命令组

ddl:数据定义语言命令组

dml:数据操作语言命令组

tools:工具组

replication:复制命令组

SHELL USAGE:shell语法

命名空间

列出命名空间,类似 hive中show databases

list_namespace

scan 'hbase:meta' -- 查看元数据信息

新建命名空间

create_namespace 'ns1'

删除命名空间

drop_namespace 'ns1'

修改命名空间

alter_namespace 'ns', {METHOD => 'set', 'PROPERTY_NAME' => 'PROPERTY_VALUE'}

列出所有表

list

新建表

语法:create, {NAME => , VERSIONS => }

创建表t1,有两个family name:f1,f2,且版本数前者为3,后者为1

create 't1',{NAME => 'f1',VERSION => 3},{NAME => 'f2', VERSIONS => 1}

查看表详情

hbase(main):011:0> describe 't1'

Table t1 is ENABLED

t1

COLUMN FAMILIES DESCRIPTION

{NAME => 'f1', BLOOMFILTER => 'ROW', VERSIONS => '1', IN_MEMORY => 'false', KEEP_DELETED_CELLS => 'FAL

SE', DATA_BLOCK_ENCODING => 'NONE', TTL => 'FOREVER', COMPRESSION => 'NONE', MIN_VERSIONS => '0', BLOC

KCACHE => 'true', BLOCKSIZE => '65536', REPLICATION_SCOPE => '0'}

{NAME => 'f2', BLOOMFILTER => 'ROW', VERSIONS => '1', IN_MEMORY => 'false', KEEP_DELETED_CELLS => 'FAL

SE', DATA_BLOCK_ENCODING => 'NONE', TTL => 'FOREVER', COMPRESSION => 'NONE', MIN_VERSIONS => '0', BLOC

KCACHE => 'true', BLOCKSIZE => '65536', REPLICATION_SCOPE => '0'}

2 row(s) in 0.0320 seconds

删除表中的列簇

alter 't1',{NAME => 'f1',METHOD => 'delete'}

禁用表、删除表

disable 't1'

drop 't1'

利用list或者exists判断表是否存在

hbase(main):014:0> exists 't1'

Table t1 does exist

0 row(s) in 0.0060 seconds

命令 is_enabled

判断是否enabled或者disable

hbase(main):019:0> is_enabled 't1'

true

0 row(s) in 0.0130 seconds

hbase(main):020:0> is_enabled 't2'

ERROR: Unknown table t2!

Here is some help for this command:

Is named table enabled? For example:

hbase> is_enabled 't1'

hbase> is_enabled 'ns1:t1'

插入命令put,查看全表数据scan

对于hbase来说insert update其实没有什么区别,都是插入原理

在hbase中没有数据类型概念,都是“字符类型”,至于含义在程序中体现

每插入一条记录都会自动建立一个时间戳,由系统自动生成。也可手动“强行指定”

hbase(main):024:0> put 't1' ,'rowkey001', 'f2:f002', 'value001'

0 row(s) in 0.0210 seconds

hbase(main):025:0> scan 't1'

ROW COLUMN+CELL

rowkey001 column=f2:f002, timestamp=1564494621209, value=value001

指定版本查看

hbase(main):026:0> scan 't1',{VERSIONS=>2}

ROW COLUMN+CELL

rowkey001 column=f2:f002, timestamp=1564494621209, value=value001

1 row(s) in 0.0100 seconds

hbase(main):027:0>

get 查看

hbase(main):036:0> get 't1', 'rowkey001'

COLUMN CELL

f2:f002 timestamp=1564494621209, value=value001

1 row(s) in 0.0180 seconds

修改版本存储个数

alter 't1',{NAME => 'f2',VERSIONS => 3}

查看多少条记录count

count 't1'

截断表truncate

注意: truncate表的处理过程:由于Hadoop的HDFS文件系统不允许直接修改,所以只能先删除表再重新创建已达到清空表的目的

删除delete

删除指定列簇

hbase(main):037:0> delete 't1','rowkey001','f2:f002'

0 row(s) in 0.0250 seconds

hbase(main):038:0> get 't1', 'rowkey001'

COLUMN CELL

0 row(s) in 0.0090 seconds

分区

建表时预设分区

create 'test_table', 'cf1', {SPLITS => ['a', 'b', 'c', 'd']}

查看HDFS是可以看到这个表下有5个文件夹(如果没有预分区,则只有一个文件夹)

[root@master ~]# hadoop fs -ls /hbase/data/default/test_table

Found 7 items

drwxr-xr-x - root supergroup 0 2019-07-30 22:08 /hbase/data/default/test_table/.tabledesc

drwxr-xr-x - root supergroup 0 2019-07-30 22:08 /hbase/data/default/test_table/.tmp

drwxr-xr-x - root supergroup 0 2019-07-30 22:08 /hbase/data/default/test_table/0167b46c959a72017e6ade4a0f4fa1c4

drwxr-xr-x - root supergroup 0 2019-07-30 22:08 /hbase/data/default/test_table/0d92bf1919e7922e77e186d2b3f26d78

drwxr-xr-x - root supergroup 0 2019-07-30 22:08 /hbase/data/default/test_table/37c06c49b4caf1cdcdd0d64dca9a64d9

drwxr-xr-x - root supergroup 0 2019-07-30 22:08 /hbase/data/default/test_table/59fe8bb5b20c12e6b0eed7c72e521f1c

drwxr-xr-x - root supergroup 0 2019-07-30 22:08 /hbase/data/default/test_table/9b16fe8003511ba6abe857c19ef79e27

手动分区

split 'test_table','9b16fe8003511ba6abe857c19ef79e27'

最后

以上就是细心乐曲为你收集整理的hbase php 增删改查,HBase基础操作:命名空间、建删改表、增删改查、分区的全部内容,希望文章能够帮你解决hbase php 增删改查,HBase基础操作:命名空间、建删改表、增删改查、分区所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(44)

评论列表共有 0 条评论

立即
投稿
返回
顶部