在开发调试或者生产运维过程中,往往需要去HBase中查询某条数据。除了使用HBase shell来写Get、Scan请求,Lindorm insight提供了一个简单的SQL查询入口,您可以使用SQL语法来查询HBase增强版宽表数据。

前提条件

已登录目标集群的集群管理系统,具体操作,请参见登录集群管理系统

使用限制

  • 为确保数据安全,本系统每次查询最多返回100条数据。
  • ROW字段对应Lindorm的RowKey,ROWqualifier都是varbinary类型,qualifier如果不属于family,需要指定family。
  • ROWCOL是SQL保留字段,查询时需要加反引号(`)。qualifier指定family时也需要加反引号(`)。

查询表数据

  1. 在集群管理系统的左侧导航栏中,选择数据查询 > SQL执行器
  2. namespace下拉列表中选择命名空间,页面右侧会自动显示该命名空间中的表。
  3. 在编辑器中输入SQL语句。
  4. 单击执行
    执行语句
    说明 执行操作可以通过键盘完成。Windows系统:CTRL+ENTER。macOS系统:COMMAND+RETURN。

获取HexCode编码字符

对varbinary类型的字段进行条件查询时,必须使用HexCode编码的字符串作为Value。例如:查询rowkey为r1的数据,SQL查询语句中的WHERE应该写成WHERE rowkey='7321'(r1的HexCode编码字符为7321)。为了方便您获取HexCode编码字符,集群管理系统的数据查询页面提供了转换工具。

方法一

  1. 在集群管理系统的左侧导航栏中,选择数据查询
  2. namespace下拉列表中选择命名空间,页面右侧会自动显示该命名空间中的表。
  3. 打开HexString开关。
  4. 在编辑器中编写SQL语句。
  5. 单击执行
  6. 在执行结果中,获取已转换为HexCode编码字符的值。转换结果

方法二

  1. 在集群管理系统的左侧导航栏中,选择数据查询 > SQL执行器
  2. namespace下拉列表中选择命名空间,页面右侧会自动显示该命名空间中的表。
  3. 使用以下语句查看目标表的结构。
    SELECT * FROM <table_name>;//使用时,将<table_name>替换为目标表名
  4. Binary hex convertion文本框中,输入需要转换为HexCode编码字符的值。
  5. 在编辑器顶部,获取转换结果。获取转换值
  6. 在编辑器中编写SQL语句,并用转换后的HexCode编码字符替换转换前的值。
    例如,原查询语句如下:
    SELECT * FROM task WHERE ROW = "master_ttl";
    替换后的语句如下:
    SELECT * FROM task WHERE ROW = "6d61737465725f74746c";
  7. 单击执行