
正文
hbase基于hue的查询语法
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
hbase基于hue的查询语法
登录地址
https://hue-ui.xiaoniangao.cn
界面操作说明
-
进入hue中的hbase
-
进入表的查询界面
-
界面说明
查询语句
,
表示结束查询,可以不加
主键查询
-
输入主键
rowkey1,rowkey2
说明:只输入主键查询
例1:00000051|1538229142
例2:00000051|1538229142,00000051|1538230148
-
根据主键的前缀查询
row_prefix*,
说明:根据主键的前几位进行模糊查询,默认只显示一条数据;通过+n-1来显示n条数据
例1:00000051|*
例2:显示10条数据00000051|* +9
查询列族和列名
[colFamily:col1,colFamily:col2,colFamily:,col3,col_prefix*+(n-1),col1 to col2]
说明:colFamily表示列族,col表示列名,
colFamily:
表示显示该列族下所有列,
<col_prefix>*+(n-1)
根据列名模糊查询,
col1 to col2
显示col1到col2之间的列
例1
:
00000051|* +9 [i:ts,i:path]
例2
:
00000051|* +9 [i:p*+3]
例3
:
00000051|1538229142,00000051|1538230148[elapse to path]
根据条件过滤查询
{filter() AND/OR filter()}
个人意见:substring筛选时使用=来筛选,否则会出错;binary筛选时可以用=、>=、<=等操作
-
根据主键进行过滤
-
RowFilter(=,'substring:111')主键中包含111 -
RowFilter(=,'binary:111')主键等于111 -
PrefixFilter('user1')主键的前缀是user1
-
-
根据列进行过滤
-
列名过滤
-
QualifierFilter (=, 'substring:p')列名中包含p -
QualifierFilter (=, 'binary:p')列名等于p -
MultipleColumnPrefixFilter('a','b','e')列名的前缀是a或者b或者e -
ColumnPrefixFilter('c2')列名的前缀是c2
-
-
列值过滤
-
SingleColumnValueFilter('i', 'path', =, 'substring:student')列族为i,列名为path,列值包含student -
SingleColumnValueFilter('i', 'path', =, 'binary:student')列族为i,列名为path,列值等于student -
ValueFilter(=,'substring:111')列值中包含111 -
ValueFilter(=,'binary:111')列值等于111
以上过滤器是大部分常用的过滤器,在hue-hbase中另有一些过滤器未在此文档中描述。
-
-
列名过滤
以下是我自己整理的一部分参考语法:
hbase中有单纯根据列值查询的ValueFilter和根据列名和列值查询的SingleColumnValueFilter,可根据需要选择。
下表中是按照根据列名和列值来进行查询的参考
| SQL | hue_hbase |
|---|---|
| select col1,col2 | [col1,col2] |
| where col1="student" | SingleColumnValueFilter('i', 'col1', =, 'binary:student') |
| where col1 like "%body%" | SingleColumnValueFilter('i', 'col1', =, 'substring:body') |
| where col1>=1.9 | SingleColumnValueFilter('i', 'col1', >=, 'binary:1.9') |
| where col1="student" AND col2>1.9 | SingleColumnValueFilter('i', 'col1', =, 'binary:student') AND SingleColumnValueFilter('i', 'col2', >, 'binary:1.9') |
| where col1="student" OR col2>1.9 | SingleColumnValueFilter('i', 'col1', =, 'binary:student') OR SingleColumnValueFilter('i', 'col2', >, 'binary:1.9') |







