首页 > 编程知识 正文

hbase数据库(hdfs shell命令)

时间:2023-05-04 16:58:03 阅读:77835 作者:2838

打开

1.基本命令

h基本shell :

# h获取base shell

1.1 获取帮助

#帮助

帮助

#获取命令的详细信息

help ' status '

1.2 查看服务器状态

status

1.3 查看版本信息

版本

2.关于表的操作

2.1 查看所有表

list

2.2 创建表

命令格式: create ‘“表名”、“列族名1”和“列

#创建一个名为Student的表,其中包含两个基本信息(baseInfo )、学校信息(schoolInfo )列家族

create 'Student '、' baseInfo '、' schoolInfo'

2.3 查看表的基本信息

命令格式: desc ‘ ' '表名

describe ' student '

2.4 表的启用/禁用

启用和禁用可以启用/禁用此表。 is_enabled和is_disabled检查核对表是否无效

#禁用表

disable 'Student '

#核对表是否无效

is_disabled 'Student '

#启用表

启用' student '

#核对表是否有效

is _ enabled ' student '

2.5 检查表是否存在

exists ' student '

2.6 删除表

#必须在删除表之前禁用表

disable 'Student '

#删除表

drop 'Student'

3.增删改

3.1 添加列族

命令格式:表名称、列族名称

alter 'Student ',' teacherInfo'

3.2 删除列族

命令格式: alter ‘表名’,{NAME=‘列族名’,method=‘delete’}

alter 'Student ',{NAME='teacherInfo ',METHOD='delete'}

3.3 更改列族存储版本的限制

默认情况下,列族仅存储一个版本的数据。 如果需要存储多个版本的数据,则必须更改列族的属性。 更改后可以用desc命令显示

alter 'Student ',{NAME='baseInfo ',VERSIONS=3}

3.4 插入数据

命令格式:“表名”、“行键”、“列族:列”和“值”

注:如果新数据的行键值、列族名称和列名称与原始数据完全相同,则与更新操作相同

put 'Student ',' rowkey1',' baseInfo:name ',' tom '

put 'Student ',' rowkey1',' baseInfo:birthday ',' 1990-01-09 '

put 'Student ',' rowkey1',' baseInfo:age ',' 29 '

put 'Student ',' rowkey1',' schoolInfo:name ',' Havard '

put 'Student ',' rowkey1',' schoolInfo:localtion ',' Boston '

put 'Student ',' rowkey2',' baseInfo:name ',' jack '

put 'Student ',' rowkey2',' baseInfo:birthday ',' 1998-08-22 '

put 'Student ',' rowkey2',' baseInfo:age ',' 21 '

put 'Student ',' rowkey2',' schoolInfo:name ',' yale '

put 'Student ',' rowkey2',' schoolInfo:localtion ',' New Haven '

put 'Student ',' rowkey3 ',' baseInfo:name ',' maike '

put 'Student ',' rowkey3 ',' baseInfo:birthday ',' 1995-01-22 '

put 'Student ',' rowkey3 ',' baseInfo:age ',' 24 '

put 'Student ',' rowkey3 ',' schoolInfo:name ',' yale '

put 'Student ',' rowkey3 ',' schoolInfo:localtion ',' New Haven '

put 'Student '、' wrowkey4'、' baseInfo:name '和' maike-jack'

3.5 获取指定行、指定行中的列族、列的信息

#获取指定行中所有列的数据信息

get 'Student ',' rowkey3 '

#获取指定行的指定列族下所有列的数据信息

get 'Student ',' rowkey3 ',' baseInfo '

#获取指定行的指定列的数据信息

get 'Student ',' rowkey3 ',' baseInfo:name'

3.6 删除指定行、指定行中的列

#删除指定的行

delete 'Student ',' rowkey3 '

#删除指定行的指定列的数据

有两种基本方法可以通过delete 'Student '、' rowkey3 '和' baseinfo : name '

4.查询

h base访问数据。

使用指定的rowkey获取数据: get方法;

在指定条件下获取数据:扫描方法。

扫描可以设置begin和end参数以访问范围内的所有数据。 get本质上是begin和end相等的特殊扫描。

4.1Get查询

#获取指定行中所有列的数据信息

get 'Student ',' rowkey3 '

#获取指定行的指定列族下所有列的数据信息

get 'Student ',' rowkey3 ',' baseInfo '

#获取指定行的指定列的数据信息

get 'Student ',' rowkey3 ',' baseinfo : name '

4.2 查询整表数据

scan ' student '

4.3 查询指定列簇的数据

scan ' student ',{ column=' bas

除了scan 'Student ',{ columns=' baseinfo : birthday ' }列(columns )修饰语外,HBase还具有Limit (限制查询结果行数)、startrow (row key )

以下内容表示从名为rowkey2的rowkey中查找以下两行的最新3版本的name列中的数据:

扫描' student ',{COLUMNS='baseInfo:name ',STARTROW='rowkey2',STOPROW='wrowkey4',LIMIT=2,Versions值

过滤器可以设置一系列条件进行过滤。 如果查询值为24的所有数据,则该值将包含yale的所有数据。

扫描' student ',过滤器=' value过滤器(=,' substring:yale ) )列名的前缀为birth。

scan 'Student ',filter=' columnprefixfilter ' ' birth ' ) ' filter支持使用括号、AND和OR组合的多个筛选条件:

#列名的前缀为birth,列值包含1998个数据

scan 'Student ',filter=' columnprefixfilter (' birth ' ) andvaluefiltervaluefilter(=,' substring:1998 ' ) prefilter

扫描' student ',FILTER='PrefixFilter('wr ' )

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。