在开发调试,或者在生产运维过程中,往往需要去Lindorm中查询某条数据。除了使用了 shell来写Get、Scan请求。Lindorm还在集群管理系统中提供了一个简单的SQL查询入口。用户可以使用熟悉的SQL语法来查询Lindorm的表。
从集群管理系统中的SQL查询页面可以进入数据查询系统。在使用前,先要选择要查询的表所在namespace。选中了namespace后,会在页面右边的树形结构中列出这个namespace里所有的表。点击表名可以显示这个表的schema, ROW代表RowKey, COL是预置的列名。用户可以方便地根据这个表的schema来构造select请求。
简单入门
一个典型的SQL查询交互过程如下:
- 选择一个namespace,例如default。
- 在页面右侧中查看您需要查询的表结构。
- 在编辑器中输入您的SQL。
- 单击上面的执行按钮,或者通过键盘输入
contrl+enter'(Windows)/'command+return' (MacOS)
来执行。 - 查看编辑器下方的结果表格,如果执行出错,在此处也可看见错误详情。
页面操作过程如下图所示:

使用说明
在您执行SQL前,请您务必先阅读下面的几点重要说明,能有效解决您使用时可能遇到的问题或疑惑:
- 本系统只支持
SELECT
- 为确保数据安全,本系统每次查询仅返回最多100条数据。
- 对所有varbinary类型的字段进行条件查询时,必须使用HexCode编码的字符串作为value 。
ROW
字段对应Lindorm的 rowkey,ROW
和qualifier
都是varbinary类型,qualifier
如果不属于 familyf
, 则需要指定 family,例如:select
。ROW
, q1,f1:q2
from ...ROW
和COL
是 SQL 保留字,查询时需要加反引号;qualifier
指定 family 时也需要加反引号。
Binary 编码字符与 HexCode 编码字符的转换
使用 byte[]
形式存储的数据,在 SQL查询 页中返回的查询结果中,varbinary
类型的字段以 BinaryString 的编码形式展示的。
在 varbinary 类型的字段进行条件查询时(即 where
子句中包含如 rowkey 等字段),必须使用 HexCode 编码的字符作为查询条件的 value
。例如:查询 rowkey 为 r1
数据,则SQL查询中的 where
子句应该写成 where rowkey='7321'
(注:字符串r1
的HexCode编码字符为7321
)。
为方便用户在查询时进行编码转换,系统在 SQL查询 页面中提供了一个简单的转换工具,只需将您的 Binary 编码字符串输入转换框中,即可在SQL编辑器内看到该字符串相应的 HexCode编码。详情如下图所示:
如果用户想查看 HexCode 编码的查询结果,可以勾选 执行 按钮后的 HexString 单选框,系统会将查询返回的结果中 varbinary 类型的字段都转为 HexCode 编码的字符串。详情如下图所示:
在文档使用中是否遇到以下问题
更多建议
匿名提交