加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

nosql – 使用HBase shell使用过滤器进行扫描

发布时间:2020-12-13 13:33:59 所属栏目:百科 来源:网络整理
导读:有人知道如何扫描记录基于一些扫描过滤器,例如: column:something =“somevalue” 有点像this,但是从HBase shell? 尝试这个。这是一种丑陋,但它适用于我。 import org.apache.hadoop.hbase.filter.CompareFilterimport org.apache.hadoop.hbase.filter
有人知道如何扫描记录基于一些扫描过滤器,例如:

column:something =“somevalue”

有点像this,但是从HBase shell?

尝试这个。这是一种丑陋,但它适用于我。
import org.apache.hadoop.hbase.filter.CompareFilter
import org.apache.hadoop.hbase.filter.SingleColumnValueFilter
import org.apache.hadoop.hbase.filter.SubstringComparator
import org.apache.hadoop.hbase.util.Bytes
scan 't1',{ COLUMNS => 'family:qualifier',FILTER =>
    SingleColumnValueFilter.new
        (Bytes.toBytes('family'),Bytes.toBytes('qualifier'),CompareFilter::CompareOp.valueOf('EQUAL'),SubstringComparator.new('somevalue'))
}

HBase shell将包括你在?/ .irbrc中的任何内容,所以你可以把这样的东西(我没有Ruby专家,欢迎改进):

# imports like above
def scan_substr(table,family,qualifier,substr,*cols)
    scan table,{ COLUMNS => cols,FILTER =>
        SingleColumnValueFilter.new
            (Bytes.toBytes(family),Bytes.toBytes(qualifier),SubstringComparator.new(substr)) }
end

然后你可以在shell中说:

scan_substr 't1','family','qualifier','somevalue','family:qualifier'

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读