単一列のフィルタリストファミリーは動作しますが複数のcolumnFamilyは0行を返します。 問題文はHow to apply several QualifierFilter to a row in HBaseと同じ複数のcolummnFamilyおよびqualifierRangeのHbaseフィルタは0行を返します
ですが、列修飾子はタイムスタンプであるため、SingleColumnValueFilterは使用できません。ので、私のフィルタは、次のようになります。
val master_filter_list = new FilterList()
val outer_fl_A = new FilterList()
val cf_filter = new FamilyFilter (CompareOp.EQUAL, new BinaryComparator("ac".getBytes))
val qualifier_range = new ColumnRangeFilter(Bytes.toBytes(fromDate.getMillis), true, Bytes.toBytes(toDate.getMillis), true)
val ac_fl = new ValueFilter(comparison_operator, new BinaryComparator(Bytes.toBytes(value.toString.toInt)))
outer_fl_A.addFilter(cf_filter)
outer_fl_A.addFilter(qualifier_range)
outer_fl_A.addFilter(ac_fl)
master_filter_list.addFilter(outer_fl_A)
val outer_fl_B = new FilterList()
val cf_filter = new FamilyFilter (CompareOp.EQUAL, new BinaryComparator("t".getBytes))
val qualifier_range = new ColumnRangeFilter(Bytes.toBytes(fromDate.getMillis), true, Bytes.toBytes(toDate.getMillis), true)
val ts_fl = new ValueFilter(comparison_operator, new BinaryComparator(value.toString.getBytes))
outer_fl_B.addFilter(cf_filter)
outer_fl_B.addFilter(qualifier_range)
outer_fl_B.addFilter(ts_fl)
master_filter_list.addFilter(outer_fl_B)
何outer_fl_Aとouter_fl_Bを持っていないテーブルからの行のみを取得するための正しい方法でしょうか?
はい、outer_fl_Aとouter_fl_Bは異なる列ファミリです。 AとBの両方が真である場合、値を適格にしたい。 – Abhi