So yeah... no documentation for the HBase REST API in regards to what should a filter look like...
So I installed Eclipse, got the library, and took some time to find some of the (seemingly) most useful filters you could use. I'm very green at anything regarding HBase, and I hope this will help anyone trying to get started with it.
What I discovered is that basically, attributes of the filter object follow the same naming than in the documentation. For this reason, I have made the link clickable and direct them to the HBase Class documentation attached to it; check for the instantiation argument names, and you will have your attribute list (more or less).
Don't forget, values are encoded.
- HBase REST Filter (SingleColumnValueFilter)
- HBase Intra-row scanning
- HBase Book / Chapter on Client Filter
{
"type": "ColumnPrefixFilter",
"value": "cHJlZml4"
}
{
"type": "ColumnRangeFilter",
"minColumn": "Zmx1ZmZ5",
"minColumnInclusive": true,
"maxColumn": "Zmx1ZmZ6",
"maxColumnInclusive": false
}
Could not generate an example, but I guess it should be pretty simple to test if it works just by intuitively plugging variables a certain way...
null
{
"type": "FamilyFilter",
"op": "EQUAL",
"comparator": {
"type": "BinaryComparator",
"value": "dGVzdHJvdw\u003d\u003d"
}
}
{
"type": "FilterList",
"op": "MUST_PASS_ALL",
"filters": [
{
"type": "RowFilter",
"op": "EQUAL",
"comparator": {
"type": "BinaryComparator",
"value": "dGVzdHJvdw\u003d\u003d"
}
},
{
"type": "ColumnRangeFilter",
"minColumn": "Zmx1ZmZ5",
"minColumnInclusive": true,
"maxColumn": "Zmx1ZmZ6",
"maxColumnInclusive": false
}
]
}
{
"type": "FirstKeyOnlyFilter"
}
{
"type": "InclusiveStopFilter",
"value": "cm93a2V5"
}
{
"type": "MultipleColumnPrefixFilter",
"prefixes": [
"YWxwaGE\u003d",
"YnJhdm8\u003d",
"Y2hhcmxpZQ\u003d\u003d"
]
}
{
"type": "PageFilter",
"value": "10"
}
{
"type": "PrefixFilter",
"value": "cm93cHJlZml4"
}
{
"type": "QualifierFilter",
"op": "GREATER",
"comparator": {
"type": "BinaryComparator",
"value": "cXVhbGlmaWVycHJlZml4"
}
}
{
"type": "RowFilter",
"op": "EQUAL",
"comparator": {
"type": "BinaryComparator",
"value": "dGVzdHJvdw\u003d\u003d"
}
}
{
"type": "SingleColumnValueFilter",
"op": "EQUAL",
"family": "ZmFtaWx5",
"qualifier": "Y29sMQ\u003d\u003d",
"latestVersion": true,
"comparator": {
"type": "BinaryComparator",
"value": "MQ\u003d\u003d"
}
}
{
"type": "TimestampsFilter",
"timestamps": [
"1351586939"
]
}
Thanks! I've been looking for a comprehensive guide on this. You rock!