任何人都可以請告訴我如何從hbase shell命令行做一個限定符過濾器或ValueFilter?在hbase shell上做一個ValueFilter或ColumnFilter
2
A
回答
6
這是非常相似,你會怎麼用任何編程語言編寫,比如: -
import org.apache.hadoop.hbase.filter.CompareFilter
import org.apache.hadoop.hbase.filter.SingleColumnValueFilter
import org.apache.hadoop.hbase.util.Bytes
scan 'tableName', {COLUMNS=>['CF:qualifier1', 'CF:qualifier2'], LIMIT=>10,
FILTER=>SingleColumnValueFilter.new(Bytes.toBytes('CF'),
Bytes.toBytes('qualifier1'), CompareFilter::CompareOp.valueOf('EQUAL'),
Bytes.toBytes('value'))}
顯然,你必須改變取決於您使用fiter參數。
7
可以實例任何過濾器,你會在Java中(使用JRuby語法)做同樣的方式,並提供過濾器:
filter = ...
scan 'mytable', FILTER => filter
然而,在shell實例化過濾器直接會很麻煩,所以更簡單的方法是使用過濾器語言將過濾器作爲字符串提供。例如,包括所有與掃描值等於「myvalue的」列可以使用:
scan 'mytable', FILTER => "ValueFilter(=, 'binary:myvalue')
可以檢查this document作爲「過濾語言參考。
4
此外,掃描子串的特定列,你可以這樣做:
scan 'myTable', { COLUMNS => 'cf:abc', FILTER => "ValueFilter(=, 'substring:myvalue')"}
相關問題
- 1. Hbase Shell ValueFilter error - 「java.lang.IllegalArgumentException:錯誤的篩選字符串ValueFilter(=,'723270266')」
- 2. 在HBase shell中使用ValueFilter會引發RetriesExhaustedException,然後爲ValueFilter寫入未定義的方法
- 3. 使用HBase Shell做一個與TTL不同的列系列
- 4. Hbase shell命令
- 5. Cassandra/HBase或只是MySQL:做下一件事的潛在問題
- 6. Hbase放shell命令
- 7. hbase shell jruby錯誤
- 8. HBase count shell命令
- 9. HBASE-Passe查詢到「hbase shell」命令
- 10. Infragistics columnfilter
- 11. 在沒有再次調用hbase shell的情況下在Hbase shell上運行multiples查詢
- 12. 這是一個更快的Hbase或Hypertable?
- 13. 結合幾個hbase shell命令
- 14. shell函數,用一個arg做動作
- 15. HBase Shell日誌記錄
- 16. 從HBase shell導出數據
- 17. 無法啓動HBase shell
- 18. HBase Shell掛起/凍結
- 19. Hbase shell遠程命令
- 20. 如何從hbase shell更改hbase中特定行或列的時間戳值
- 21. 'list'命令無法在Hbase 0.90.x的shell上工作
- 22. 如何使用ColumnFilter或LightColumnFilter有角的DataTable錯誤b.dataTable.columnFilter不是一個函數
- 23. HBase:在一個列族中創建一個具有多個列的hbase表
- 24. jQuery Datatables columnfilter width issue
- 25. 如何做一個邏輯或在CLIPS?
- 26. Shell - 這個腳本在做什麼?
- 27. 如何使用shell在HBase表中創建多個列族
- 28. Hbase Map和Reduce在同一張桌上
- 29. HBase Shell - 從現有的Hbase表創建縮減表
- 30. HBase Mapreduce在多個掃描對象上