优化阅读格式

This commit is contained in:
heibaiying
2019-07-31 17:18:07 +08:00
parent ceb868fe13
commit ca7c99802b
91 changed files with 4059 additions and 4058 deletions

View File

@ -29,7 +29,7 @@
## 一、基本命令
打开Hbase Shell
打开 Hbase Shell
```shell
# hbase shell
@ -68,7 +68,7 @@ list
#### 2.2 创建表
**命令格式** create '表名称', '列族名称1','列族名称2','列名称N'
**命令格式** create '表名称', '列族名称 1','列族名称 2','列名称 N'
```shell
# 创建一张名为Student的表,包含基本信息baseInfo、学校信息schoolInfo两个列族
@ -85,7 +85,7 @@ describe 'Student'
#### 2.4 表的启用/禁用
enabledisable可以启用/禁用这个表,is_enabledis_disabled来检查表是否被禁用
enabledisable 可以启用/禁用这个表,is_enabledis_disabled 来检查表是否被禁用
```shell
# 禁用表
@ -136,7 +136,7 @@ alter 'Student', {NAME => 'teacherInfo', METHOD => 'delete'}
#### 3.3 更改列族存储版本的限制
默认情况下,列族只存储一个版本的数据,如果需要存储多个版本的数据,则需要修改列族的属性。修改后可通过`desc`命令查看。
默认情况下,列族只存储一个版本的数据,如果需要存储多个版本的数据,则需要修改列族的属性。修改后可通过 `desc` 命令查看。
```shell
alter 'Student',{NAME=>'baseInfo',VERSIONS=>3}
@ -194,13 +194,13 @@ delete 'Student','rowkey3','baseInfo:name'
## 四、查询
hbase中访问数据有两种基本的方式
hbase 中访问数据有两种基本的方式:
+ 按指定rowkey获取数据get方法
+ 按指定 rowkey 获取数据get 方法;
+ 按指定条件获取数据scan方法。
+ 按指定条件获取数据scan 方法。
`scan`可以设置beginend参数来访问一个范围内所有的数据。get本质上就是beginend相等的一种特殊的scan。
`scan` 可以设置 beginend 参数来访问一个范围内所有的数据。get 本质上就是 beginend 相等的一种特殊的 scan。
#### 4.1Get查询
@ -232,9 +232,9 @@ scan 'Student', {COLUMN=>'baseInfo'}
scan 'Student', {COLUMNS=> 'baseInfo:birthday'}
```
除了列`COLUMNS`修饰词外HBase还支持`Limit`(限制查询结果行数),`STARTROW``ROWKEY`起始行,会先根据这个`key`定位到`region`,再向后扫描)、`STOPROW`(结束行)、`TIMERANGE`(限定时间戳范围)、`VERSIONS`(版本数)、和`FILTER`(按条件过滤行)等。
除了列 `COLUMNS` 修饰词外HBase 还支持 `Limit`(限制查询结果行数),`STARTROW``ROWKEY` 起始行,会先根据这个 `key` 定位到 `region`,再向后扫描)、`STOPROW`(结束行)、`TIMERANGE`(限定时间戳范围)、`VERSIONS`(版本数)、和 `FILTER`(按条件过滤行)等。
如下代表从`rowkey2`这个`rowkey`开始,查找下两个行的最新3个版本的name列的数据
如下代表从 `rowkey2` 这个 `rowkey` 开始,查找下两个行的最新 3 个版本的 name 列的数据:
```shell
scan 'Student', {COLUMNS=> 'baseInfo:name',STARTROW => 'rowkey2',STOPROW => 'wrowkey4',LIMIT=>2, VERSIONS=>3}
@ -242,32 +242,32 @@ scan 'Student', {COLUMNS=> 'baseInfo:name',STARTROW => 'rowkey2',STOPROW => 'wro
#### 4.5 条件过滤
Filter可以设定一系列条件来进行过滤。如我们要查询值等于24的所有数据
Filter 可以设定一系列条件来进行过滤。如我们要查询值等于 24 的所有数据:
```shell
scan 'Student', FILTER=>"ValueFilter(=,'binary:24')"
```
值包含yale的所有数据
值包含 yale 的所有数据:
```shell
scan 'Student', FILTER=>"ValueFilter(=,'substring:yale')"
```
列名中的前缀为birth的
列名中的前缀为 birth 的:
```shell
scan 'Student', FILTER=>"ColumnPrefixFilter('birth')"
```
FILTER中支持多个过滤条件通过括号、ANDOR进行组合
FILTER 中支持多个过滤条件通过括号、ANDOR 进行组合:
```shell
# 列名中的前缀为birth且列值中包含1998的数据
scan 'Student', FILTER=>"ColumnPrefixFilter('birth') AND ValueFilter ValueFilter(=,'substring:1998')"
```
`PrefixFilter`用于对Rowkey的前缀进行判断
`PrefixFilter` 用于对 Rowkey 的前缀进行判断:
```shell
scan 'Student', FILTER=>"PrefixFilter('wr')"