如何根据Hbase表中的条件检索记录?

如何根据Hbase表中的条件检索记录?,hbase,Hbase,我有一个Hbase表:包含列族的employeedetails:cols personaldetails:firstname、lastname、professionaldetails:cols company、empid的employeedetails 其中包含以下数据 1 column=personaldetails:firstname, timestamp=1490959927100, value=Steven 1 column=personaldetails:lastnam

我有一个Hbase表:包含列族的employeedetails:cols personaldetails:firstname、lastname、professionaldetails:cols company、empid的employeedetails 其中包含以下数据

 1    column=personaldetails:firstname, timestamp=1490959927100, value=Steven
 1    column=personaldetails:lastname, timestamp=1490959947478, value=Gerrard
 1    column=professionaldetails:company, timestamp=1490959968846, value=ABC
 1    column=professionaldetails:empid, timestamp=1490959978542, value=02429O
 2    column=personaldetails:firstname, timestamp=1490960007427, value=Sidhartha
 2    column=personaldetails:lastname, timestamp=1490960054615, value=Bobby
 2    column=professionaldetails:company, timestamp=1490960074243, value=DEF
 2    column=professionaldetails:empid, timestamp=1490960103882, value=02429N
 3    column=personaldetails:company, timestamp=1490960175772, value=WES
 3    column=personaldetails:empid, timestamp=1490960187863, value=987789
 3    column=personaldetails:firstname, timestamp=1490960128896, value=Sunny
 3    column=personaldetails:lastname, timestamp=1490960142031, value=Smith

是否有方法编写命令来检索名称以“S”开头的记录。

您可以做的最好的事情是,您可以在配置单元中创建一个外部表,该表与HBase表具有相同的架构映射,并且可以在HBase表的顶部运行配置单元查询

您可以使用在HBase表数据顶部运行的配置单元查询中的条件


您可以选择将配置单元与HBase集成,并在HBase表顶部运行配置单元查询。

使用
SingleColumnValueFilter

此筛选器将列族、限定符、比较运算符和比较器作为参数

  • 如果找不到指定的列,则该行的所有列 将被发射
  • 如果找到该列并与比较器进行比较 返回
    true
    ,将发出该行的所有列
  • 如果找到该列并与比较器进行比较 返回
    false
    ,将不会发出该行
  • 语法:

    SingleColumnValueFilter (‘<family>’, ‘<qualifier>’, <compare operator>, ‘<comparator>’, <filterIfColumnMissing_boolean>, <latest_version_boolean>)
    
    scan 'employeedetails' ,{ FILTER => "SingleColumnValueFilter('personaldetails','firstname',=, 'binaryprefix:S', true, false)" }
    
    如果
    filterIfColumnMissing
    标志设置为
    true
    ,则如果在该行中未找到要检查的指定列,则不会发出该行的列


    让我知道这是否检索到预期结果。

    我将数据从Hive复制到Hbase。我只想了解是否有任何选项,例如在Hbase中使用过滤器。@franklinsijo给出的答案是有效的。