Scala Hbase模糊行筛选器返回零行

Scala Hbase模糊行筛选器返回零行,scala,hbase,Scala,Hbase,我有一个表,行键值为100200300,其中00是固定部分,第一个数字是可变的。 我用下面的代码创建了一个模糊过滤器。 它不返回结果 我也检查了罐子。 我认为我的hbase版本与hbase客户端、hbase服务器、hbase公用JAR没有任何差异。它们都是hbase 1.1.2版本 我也没有任何错误。 谁能告诉我哪里出了问题 代码: var partialKey = "00" var rowKey = "?"+partialKey var rowKeyId = Bytes.toBytesBina

我有一个表,行键值为100200300,其中00是固定部分,第一个数字是可变的。 我用下面的代码创建了一个模糊过滤器。 它不返回结果

我也检查了罐子。 我认为我的hbase版本与hbase客户端、hbase服务器、hbase公用JAR没有任何差异。它们都是hbase 1.1.2版本 我也没有任何错误。 谁能告诉我哪里出了问题

代码:

var partialKey = "00"
var rowKey = "?"+partialKey
var rowKeyId = Bytes.toBytesBinary(rowKey)
val table = "PH_TEST_FUZZY"
val hbase_master = "xx.xxx.xx.xx:16000"
val zookeeper_master = "xx.xxx.xx.xx:2181,xx.xxx.xx.xx:2181,xx.xxx.xx.xx:2181"
val connection: Connection = getHbaseConfig(hbase_master, zookeeper_master)
val jobConfig: JobConf = new JobConf(connection.getConfiguration, this.getClass)
jobConfig.set(TableInputFormat.INPUT_TABLE, table)
val tableStatus: Table = connection.getTable(TableName.valueOf(table))
val scan = new Scan
val fuzzyRowFilter = new org.apache.hadoop.hbase.util.Pair(rowKeyId,Array[Byte](1, 0, 0))
val rowKeyFilter = new FuzzyRowFilter(List(fuzzyRowFilter).asJava)
scan.setFilter(rowKeyFilter)
val scanner = tableStatus.getScanner(scan)
scanner.asScala.foreach(x=>println(Bytes.toString(x.getRow)))

你能在没有设置过滤器的情况下打印任何行吗?是的,如果我不应用任何过滤器。我得到了表中的所有行键。你能在没有设置过滤器的情况下打印任何行吗?是的,如果我不应用任何过滤器。我得到了我桌上所有的行键。