我是 Hbase 新手,使用版本 0.90.4-cdh3u3。我正在尝试执行一些查询以更好地理解 shell 中的 HBase 查询语法。我创建了一个表格,其中包含不同员工的工作时间。表中的单行如下所示:
hbase> scan 'Employees', {LIMIT=>1}
ROW COLUMN+CELL
Alice column=Day:Friday, timestamp=1340903869525, value=Hours:2
Alice column=Day:Monday, timestamp=1340903803699, value=Hours:4
Alice column=Day:Thursday, timestamp=1340903855735, value=Hours:8
Alice column=Day:Tuesday, timestamp=1340903821034, value=Hours:7
Alice column=Day:Wednesday, timestamp=1340903836330, value=Hours:2
我想要一个查询,显示哪些员工工作了 8 小时以及在哪几天工作。因此,我想扫描所有行并查找值等于 8 的任何列。我正在尝试使用 ValueFilter,因为我看到它扫描所有列而不指定它们。我已经尝试了几次我的查询,它们都给出了相同的错误。
scan 'Employees', {LIMIT=>2, FILTER=>"ValueFilter(=, 'binary:8')"}
ROW COLUMN+CELL
ERROR: org.apache.hadoop.hbase.client.RetriesExhaustedException: Trying to contact region server basecloud02.noviidesign.com:60020 for region Employees,,1340903535790.86c7a1240ef6c8c499cba43555af2af3., row '', but failed after 7 attempts.
Exceptions:
org.jruby.exceptions.RaiseException: (NoMethodError) undefined method `write' for "ValueFilter(=, 'binary:8')":String
(this execption is repeated for each row)
我不知道是我的查询不正确还是配置中的某些内容有误...谢谢