Package org.apache.hadoop.hbase.filter

Examples of org.apache.hadoop.hbase.filter.FilterList


    RangeExpression re = new RangeExpression(column, value3_1, value3_2, true, false);
    singleIndexExpression.setRangeExpression(re);

    Scan scan = new Scan();
    scan.setAttribute(Constants.INDEX_EXPRESSION, IndexUtils.toBytes(singleIndexExpression));
    FilterList fl = new FilterList(Operator.MUST_PASS_ALL);
    Filter filter = new SingleColumnValueFilter(FAMILY1, QUALIFIER1, CompareOp.EQUAL, value1);
    fl.addFilter(filter);
    filter = new SingleColumnValueFilter(FAMILY1, QUALIFIER2, CompareOp.EQUAL, value2);
    fl.addFilter(filter);
    filter = new SingleColumnValueFilter(FAMILY1, QUALIFIER3, CompareOp.GREATER_OR_EQUAL, value3_1);
    fl.addFilter(filter);
    filter = new SingleColumnValueFilter(FAMILY1, QUALIFIER3, CompareOp.LESS, value3_2);
    fl.addFilter(filter);
    scan.setFilter(fl);

    ScanFilterEvaluator evaluator = new ScanFilterEvaluator();
    List<IndexSpecification> indices = new ArrayList<IndexSpecification>();
    IndexSpecification index = new IndexSpecification(indexName);
View Full Code Here


    multiIndexExpression.addIndexExpression(multiIndexExpression2);

    Scan scan = new Scan();
    scan.setAttribute(Constants.INDEX_EXPRESSION, IndexUtils.toBytes(multiIndexExpression));
    FilterList outerFL = new FilterList(Operator.MUST_PASS_ALL);
    FilterList fl = new FilterList(Operator.MUST_PASS_ALL);
    Filter filter = new SingleColumnValueFilter(FAMILY1, QUALIFIER2, CompareOp.EQUAL, value2);
    fl.addFilter(filter);
    filter = new SingleColumnValueFilter(FAMILY1, QUALIFIER3, CompareOp.GREATER_OR_EQUAL, value3_1);
    fl.addFilter(filter);
    filter = new SingleColumnValueFilter(FAMILY1, QUALIFIER3, CompareOp.LESS, value3_2);
    fl.addFilter(filter);
    outerFL.addFilter(fl);
    FilterList innerFL = new FilterList(Operator.MUST_PASS_ONE);
    innerFL.addFilter(new SingleColumnValueFilter(FAMILY1, QUALIFIER1, CompareOp.EQUAL, value1));
    innerFL.addFilter(new SingleColumnValueFilter(FAMILY2, QUALIFIER1, CompareOp.EQUAL, value4));
    outerFL.addFilter(innerFL);
    scan.setFilter(outerFL);

    ScanFilterEvaluator evaluator = new ScanFilterEvaluator();
    List<IndexSpecification> indices = new ArrayList<IndexSpecification>();
View Full Code Here

    p3.add("col1".getBytes(), "q2".getBytes(), "dog".getBytes());
    table.put(p3);

    int i = 0;
    Scan s = new Scan();
    FilterList filterList = new FilterList();
    // check for combination of cat in q1 and dog in q2
    SingleColumnValueFilter filter1 =
        new SingleColumnValueFilter("col1".getBytes(), "ql".getBytes(), CompareOp.EQUAL,
            "cat".getBytes());
    filter1.setFilterIfMissing(true);
    SingleColumnValueFilter filter2 =
        new SingleColumnValueFilter("col1".getBytes(), "q2".getBytes(), CompareOp.EQUAL,
            "dog".getBytes());
    filter2.setFilterIfMissing(true);
    filterList.addFilter(filter1);

    filterList.addFilter(filter2);
    s.setFilter(filterList);

    ResultScanner scanner = table.getScanner(s);
    for (Result result : scanner) {
      i++;
View Full Code Here

    Configuration conf = UTIL.getConfiguration();
    String userTableName = "testScanWithMultIndexedDiffColFamilyColumn";
    putMulIndex(userTableName);
    int i = 0;
    Scan s = new Scan();
    FilterList filterList = new FilterList();
    // check for combination of cat in q1 and dog in q1
    SingleColumnValueFilter filter1 =
        new SingleColumnValueFilter("col1".getBytes(), "ql".getBytes(), CompareOp.EQUAL,
            "cat".getBytes());
    filter1.setFilterIfMissing(true);
    SingleColumnValueFilter filter2 =
        new SingleColumnValueFilter("col2".getBytes(), "ql".getBytes(), CompareOp.EQUAL,
            "dog".getBytes());
    filter2.setFilterIfMissing(true);
    filterList.addFilter(filter1);
    filterList.addFilter(filter2);
    s.setFilter(filterList);
    HTable table = new HTable(conf, userTableName);
    ResultScanner scanner = table.getScanner(s);
    for (Result result : scanner) {
      i++;
View Full Code Here

    Configuration conf = UTIL.getConfiguration();
    String userTableName = "testScanWithMultIndexedCacheDiffColFamilyColumn";
    putMulIndex(userTableName);
    int i = 0;
    Scan s = new Scan();
    FilterList filterList = new FilterList();
    // check for combination of cat in q1 and dog in q1
    SingleColumnValueFilter filter1 =
        new SingleColumnValueFilter("col1".getBytes(), "ql".getBytes(), CompareOp.EQUAL,
            "cat".getBytes());
    filter1.setFilterIfMissing(true);
    SingleColumnValueFilter filter2 =
        new SingleColumnValueFilter("col2".getBytes(), "ql".getBytes(), CompareOp.EQUAL,
            "dog".getBytes());
    filter2.setFilterIfMissing(true);
    filterList.addFilter(filter1);
    filterList.addFilter(filter2);
    s.setCaching(4);
    s.setFilter(filterList);
    HTable table = new HTable(conf, userTableName);
    ResultScanner scanner = table.getScanner(s);
    for (Result result : scanner) {
View Full Code Here

    String userTableName = "testScanWithMultIndexedDiffFilters";
    putMulIndex(userTableName);
    HTable table = new HTable(conf, userTableName);
    int i = 0;
    Scan s = new Scan();
    FilterList filterList = new FilterList();
    // check for combination of cat in q1 and dog in q1
    Filter filter1 =
        new RowFilter(CompareOp.LESS_OR_EQUAL, new BinaryComparator("row5".getBytes()));
    Filter filter2 = new FirstKeyOnlyFilter();
    filterList.addFilter(filter1);
    filterList.addFilter(filter2);
    s.setFilter(filterList);
    ResultScanner scanner = table.getScanner(s);
    for (Result result : scanner) {
      i++;
    }
View Full Code Here

    String userTableName = "testScan2Indexed2ReversedFilters";
    putMulIndex(userTableName);
    HTable table = new HTable(conf, userTableName);
    int i = 0;
    Scan s = new Scan();
    FilterList filterList = new FilterList();
    // check for combination of cat in q1 and dog in q1
    SingleColumnValueFilter filter1 =
        new SingleColumnValueFilter("col2".getBytes(), "ql".getBytes(), CompareOp.EQUAL,
            "dog".getBytes());
    filter1.setFilterIfMissing(true);
    SingleColumnValueFilter filter2 =
        new SingleColumnValueFilter("col1".getBytes(), "ql".getBytes(), CompareOp.EQUAL,
            "cat".getBytes());
    filter2.setFilterIfMissing(true);
    filterList.addFilter(filter1);
    filterList.addFilter(filter2);
    s.setFilter(filterList);

    ResultScanner scanner = table.getScanner(s);
    for (Result result : scanner) {
      i++;
View Full Code Here

    p8.add("col1".getBytes(), "ql".getBytes(), "cat".getBytes());
    p8.add("col2".getBytes(), "ql".getBytes(), "dog".getBytes());
    table.put(p8);
    int i = 0;
    Scan s = new Scan();
    FilterList filterList = new FilterList();
    // check for combination of cat in q1 and dog in q1
    SingleColumnValueFilter filter1 =
        new SingleColumnValueFilter("col1".getBytes(), "ql".getBytes(), CompareOp.EQUAL,
            "cat".getBytes());
    filter1.setFilterIfMissing(true);
    SingleColumnValueFilter filter2 =
        new SingleColumnValueFilter("col3".getBytes(), "ql".getBytes(), CompareOp.EQUAL,
            "dog".getBytes());
    filter2.setFilterIfMissing(true);
    filterList.addFilter(filter1);
    filterList.addFilter(filter2);
    s.setFilter(filterList);
    ResultScanner scanner = table.getScanner(s);
    for (Result result : scanner) {
      i++;
    }
    Assert.assertEquals(
      "Should match for 1 rows in multiple index with diff column family successfully ", 1, i);
    Assert.assertTrue("Seek points should  be added ", IndexRegionObserver.getSeekpointAdded());
    Assert.assertTrue("Indexed table should be used ", IndexRegionObserver.getIndexedFlowUsed());

    // Different values in column family should not retreive the rows.. Below
    // ensures the same
    Scan s1 = new Scan();
    FilterList filterList1 = new FilterList();
    // check for combination of cat in q1 and dog in q1
    SingleColumnValueFilter filter11 =
        new SingleColumnValueFilter("col1".getBytes(), "ql".getBytes(), CompareOp.EQUAL,
            "cat".getBytes());
    filter11.setFilterIfMissing(true);
    SingleColumnValueFilter filter12 =
        new SingleColumnValueFilter("col3".getBytes(), "ql".getBytes(), CompareOp.EQUAL,
            "dog1".getBytes());
    filter12.setFilterIfMissing(true);
    filterList1.addFilter(filter11);
    filterList1.addFilter(filter12);
    s1.setFilter(filterList1);
    i = 0;
    ResultScanner scanner1 = table.getScanner(s1);
    for (Result result : scanner1) {
      i++;
View Full Code Here

  @Test(timeout = 180000)
  public void testScanWith4IdxAnd2ColumnsInFiltersShouldBeSuccessful() throws Exception {
    HTable table = put4ColumnIndex();
    int i = 0;
    Scan s = new Scan();
    FilterList filterList = new FilterList();
    // check for combination of cat in q1 and dog in q1
    Filter filter1 =
        new SingleColumnValueFilter("col1".getBytes(), "ql".getBytes(), CompareOp.EQUAL,
            "cat".getBytes());
    Filter filter2 =
        new SingleColumnValueFilter("col2".getBytes(), "ql".getBytes(), CompareOp.EQUAL,
            "dog".getBytes());
    filterList.addFilter(filter1);
    filterList.addFilter(filter2);
    s.setFilter(filterList);

    ResultScanner scanner = table.getScanner(s);
    for (Result result : scanner) {
      i++;
View Full Code Here

        }
    }

    private void addFilter(CompareOp op, byte[] val) {
        LOG.info("Adding filter " + op.toString() + " with value " + Bytes.toStringBinary(val));
        FilterList scanFilter = (FilterList) scan.getFilter();
        if (scanFilter == null) {
            scanFilter = new FilterList();
        }
        scanFilter.addFilter(new RowFilter(op, new BinaryComparator(val)));
        scan.setFilter(scanFilter);
    }
View Full Code Here

TOP

Related Classes of org.apache.hadoop.hbase.filter.FilterList

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.