Java 类org.apache.hadoop.hbase.thrift.generated.TScan 实例源码

项目:LCIndex-HBase-0.94.16    文件:ThriftServerRunner.java   
public int scannerOpenWithScan(ByteBuffer tableName, TScan tScan,
    Map<ByteBuffer, ByteBuffer> attributes)
    throws IOError {
  try {
    HTable table = getTable(tableName);
    Scan scan = new Scan();
    addAttributes(scan, attributes);
    if (tScan.isSetStartRow()) {
      scan.setStartRow(tScan.getStartRow());
    }
    if (tScan.isSetStopRow()) {
      scan.setStopRow(tScan.getStopRow());
    }
    if (tScan.isSetTimestamp()) {
      scan.setTimeRange(Long.MIN_VALUE, tScan.getTimestamp());
    }
    if (tScan.isSetCaching()) {
      scan.setCaching(tScan.getCaching());
    }
    if (tScan.isSetColumns() && tScan.getColumns().size() != 0) {
      for(ByteBuffer column : tScan.getColumns()) {
        byte [][] famQf = KeyValue.parseColumn(getBytes(column));
        if(famQf.length == 1) {
          scan.addFamily(famQf[0]);
        } else {
          scan.addColumn(famQf[0], famQf[1]);
        }
      }
    }
    if (tScan.isSetFilterString()) {
      ParseFilter parseFilter = new ParseFilter();
      scan.setFilter(
          parseFilter.parseFilterString(tScan.getFilterString()));
    }
    return addScanner(table.getScanner(scan), tScan.sortColumns);
  } catch (IOException e) {
    LOG.warn(e.getMessage(), e);
    throw new IOError(e.getMessage());
  }
}
项目:openyu-commons    文件:HBaseThriftDMLTest.java   
@Test
public void rowFilter() throws Exception {
    String TABLE_NAME = "UIH_OverallItemInfo";

    List<TRowResult> results = null;
    //
    List<ByteBuffer> columns = new LinkedList<ByteBuffer>();
    Map<ByteBuffer, ByteBuffer> attributes = new HashMap<ByteBuffer, ByteBuffer>();
    //
    TScan scan = new TScan();
    scan.setCaching(200);
    //
    String filterString = "RowFilter(=, 'regexstring:00[1-3]00')";
    scan.setFilterString(ByteBufferHelper.toByteBuffer(filterString));
    scan.setColumns(columns);
    //
    int scannerId = 0;
    long beg = System.currentTimeMillis();
    try {
        scannerId = client.scannerOpenWithScan(
                ByteBufferHelper.toByteBuffer(TABLE_NAME), scan, attributes);// 可以attributes=null
        results = client.scannerGetList(scannerId, 10);// 讀取幾筆
    } catch (Exception ex) {
        ex.printStackTrace();
    } finally {
        if (scannerId >= 0) {
            client.scannerClose(scannerId);// 一定要關閉
        }
    }
    long end = System.currentTimeMillis();
    System.out.println((end - beg) + " at mills.");
    printlnResult(results);
}
项目:openyu-commons    文件:HBaseThriftDMLTest.java   
@Test
public void prefixFilter() throws Exception {
    String TABLE_NAME = "UIH_OverallItemInfo";

    List<TRowResult> results = null;
    //
    List<ByteBuffer> columns = new LinkedList<ByteBuffer>();
    Map<ByteBuffer, ByteBuffer> attributes = new HashMap<ByteBuffer, ByteBuffer>();
    //
    TScan scan = new TScan();
    scan.setCaching(200);
    //
    String filterString = "PrefixFilter('1000|B101|A17P')";
    scan.setFilterString(ByteBufferHelper.toByteBuffer(filterString));
    scan.setColumns(columns);
    //
    int scannerId = 0;
    long beg = System.currentTimeMillis();
    try {
        scannerId = client.scannerOpenWithScan(
                ByteBufferHelper.toByteBuffer(TABLE_NAME), scan, attributes);// 可以attributes=null
        results = client.scannerGetList(scannerId, 10);// 讀取幾筆
    } catch (Exception ex) {
        ex.printStackTrace();
    } finally {
        if (scannerId >= 0) {
            client.scannerClose(scannerId);// 一定要關閉
        }
    }
    long end = System.currentTimeMillis();
    System.out.println((end - beg) + " at mills.");
    printlnResult(results);
}
项目:openyu-commons    文件:HBaseThriftDMLTest.java   
/**
 * 只傳回key值,value屏蔽掉
 *
 * @throws Exception
 */
@Test
public void keyOnlyFilter() throws Exception {
    String TABLE_NAME = "UIH_OverallItemInfo";
    List<TRowResult> results = null;
    //
    List<ByteBuffer> columns = new LinkedList<ByteBuffer>();
    Map<ByteBuffer, ByteBuffer> attributes = new HashMap<ByteBuffer, ByteBuffer>();
    //
    TScan scan = new TScan();
    scan.setCaching(200);
    // KeyOnlyFilter()

    String filterString = "KeyOnlyFilter()";
    scan.setFilterString(ByteBufferHelper.toByteBuffer(filterString));
    scan.setColumns(columns);
    //
    int scannerId = 0;
    long beg = System.currentTimeMillis();
    try {
        scannerId = client.scannerOpenWithScan(
                ByteBufferHelper.toByteBuffer(TABLE_NAME), scan, attributes);// 可以attributes=null
        results = client.scannerGetList(scannerId, 10);// 讀取幾筆
    } catch (Exception ex) {
        ex.printStackTrace();
    } finally {
        if (scannerId >= 0) {
            client.scannerClose(scannerId);// 一定要關閉
        }
    }
    long end = System.currentTimeMillis();
    System.out.println((end - beg) + " at mills.");
    //
    printlnResult(results);
}
项目:openyu-commons    文件:HBaseThriftDMLTest.java   
/**
 * 只傳回第一個keyValue
 *
 * @throws Exception
 */
@Test
public void firstKeyOnlyFilter() throws Exception {
    String TABLE_NAME = "UIH_OverallItemInfo";
    List<TRowResult> results = null;
    //
    List<ByteBuffer> columns = new LinkedList<ByteBuffer>();
    Map<ByteBuffer, ByteBuffer> attributes = new HashMap<ByteBuffer, ByteBuffer>();
    //
    TScan scan = new TScan();
    scan.setCaching(200);
    // FirstKeyOnlyFilter()

    String filterString = "FirstKeyOnlyFilter()";
    scan.setFilterString(ByteBufferHelper.toByteBuffer(filterString));
    scan.setColumns(columns);
    //
    int scannerId = 0;
    long beg = System.currentTimeMillis();
    try {
        scannerId = client.scannerOpenWithScan(
                ByteBufferHelper.toByteBuffer(TABLE_NAME), scan, attributes);// 可以attributes=null
        results = client.scannerGetList(scannerId, 10);// 讀取幾筆
    } catch (Exception ex) {
        ex.printStackTrace();
    } finally {
        if (scannerId >= 0) {
            client.scannerClose(scannerId);// 一定要關閉
        }
    }
    long end = System.currentTimeMillis();
    System.out.println((end - beg) + " at mills.");
    //
    printlnResult(results);
}
项目:IRIndex    文件:ThriftServerRunner.java   
public int scannerOpenWithScan(ByteBuffer tableName, TScan tScan,
    Map<ByteBuffer, ByteBuffer> attributes)
    throws IOError {
  try {
    HTable table = getTable(tableName);
    Scan scan = new Scan();
    addAttributes(scan, attributes);
    if (tScan.isSetStartRow()) {
      scan.setStartRow(tScan.getStartRow());
    }
    if (tScan.isSetStopRow()) {
      scan.setStopRow(tScan.getStopRow());
    }
    if (tScan.isSetTimestamp()) {
      scan.setTimeRange(Long.MIN_VALUE, tScan.getTimestamp());
    }
    if (tScan.isSetCaching()) {
      scan.setCaching(tScan.getCaching());
    }
    if (tScan.isSetColumns() && tScan.getColumns().size() != 0) {
      for(ByteBuffer column : tScan.getColumns()) {
        byte [][] famQf = KeyValue.parseColumn(getBytes(column));
        if(famQf.length == 1) {
          scan.addFamily(famQf[0]);
        } else {
          scan.addColumn(famQf[0], famQf[1]);
        }
      }
    }
    if (tScan.isSetFilterString()) {
      ParseFilter parseFilter = new ParseFilter();
      scan.setFilter(
          parseFilter.parseFilterString(tScan.getFilterString()));
    }
    return addScanner(table.getScanner(scan), tScan.sortColumns);
  } catch (IOException e) {
    LOG.warn(e.getMessage(), e);
    throw new IOError(e.getMessage());
  }
}
项目:RStore    文件:ThriftServer.java   
public int scannerOpenWithScan(ByteBuffer tableName, TScan tScan) throws IOError {
    try {
      HTable table = getTable(tableName);
      Scan scan = new Scan();
      if (tScan.isSetStartRow()) {
          scan.setStartRow(tScan.getStartRow());
      }
      if (tScan.isSetStopRow()) {
          scan.setStopRow(tScan.getStopRow());
      }
      if (tScan.isSetTimestamp()) {
          scan.setTimeRange(Long.MIN_VALUE, tScan.getTimestamp());              
      }
      if (tScan.isSetCaching()) {
          scan.setCaching(tScan.getCaching());
      }
      if(tScan.isSetColumns() && tScan.getColumns().size() != 0) {
        for(ByteBuffer column : tScan.getColumns()) {
          byte [][] famQf = KeyValue.parseColumn(getBytes(column));
          if(famQf.length == 1) {
            scan.addFamily(famQf[0]);
          } else {
            scan.addColumn(famQf[0], famQf[1]);
          }
        }
      }
      if (tScan.isSetFilterString()) {
        ParseFilter parseFilter = new ParseFilter();
        scan.setFilter(parseFilter.parseFilterString(tScan.getFilterString()));
      }
      return addScanner(table.getScanner(scan));
    } catch (IOException e) {
      throw new IOError(e.getMessage());
    }
}
项目:HBase-Research    文件:ThriftServerRunner.java   
public int scannerOpenWithScan(ByteBuffer tableName, TScan tScan,
    Map<ByteBuffer, ByteBuffer> attributes)
    throws IOError {
  try {
    HTable table = getTable(tableName);
    Scan scan = new Scan();
    addAttributes(scan, attributes);
    if (tScan.isSetStartRow()) {
      scan.setStartRow(tScan.getStartRow());
    }
    if (tScan.isSetStopRow()) {
      scan.setStopRow(tScan.getStopRow());
    }
    if (tScan.isSetTimestamp()) {
      scan.setTimeRange(Long.MIN_VALUE, tScan.getTimestamp());
    }
    if (tScan.isSetCaching()) {
      scan.setCaching(tScan.getCaching());
    }
    if (tScan.isSetColumns() && tScan.getColumns().size() != 0) {
      for(ByteBuffer column : tScan.getColumns()) {
        byte [][] famQf = KeyValue.parseColumn(getBytes(column));
        if(famQf.length == 1) {
          scan.addFamily(famQf[0]);
        } else {
          scan.addColumn(famQf[0], famQf[1]);
        }
      }
    }
    if (tScan.isSetFilterString()) {
      ParseFilter parseFilter = new ParseFilter();
      scan.setFilter(
          parseFilter.parseFilterString(tScan.getFilterString()));
    }
    return addScanner(table.getScanner(scan));
  } catch (IOException e) {
    LOG.warn(e.getMessage(), e);
    throw new IOError(e.getMessage());
  }
}
项目:hbase-0.94.8-qod    文件:ThriftServerRunner.java   
public int scannerOpenWithScan(ByteBuffer tableName, TScan tScan,
    Map<ByteBuffer, ByteBuffer> attributes)
    throws IOError {
  try {
    HTable table = getTable(tableName);
    Scan scan = new Scan();
    addAttributes(scan, attributes);
    if (tScan.isSetStartRow()) {
      scan.setStartRow(tScan.getStartRow());
    }
    if (tScan.isSetStopRow()) {
      scan.setStopRow(tScan.getStopRow());
    }
    if (tScan.isSetTimestamp()) {
      scan.setTimeRange(Long.MIN_VALUE, tScan.getTimestamp());
    }
    if (tScan.isSetCaching()) {
      scan.setCaching(tScan.getCaching());
    }
    if (tScan.isSetColumns() && tScan.getColumns().size() != 0) {
      for(ByteBuffer column : tScan.getColumns()) {
        byte [][] famQf = KeyValue.parseColumn(getBytes(column));
        if(famQf.length == 1) {
          scan.addFamily(famQf[0]);
        } else {
          scan.addColumn(famQf[0], famQf[1]);
        }
      }
    }
    if (tScan.isSetFilterString()) {
      ParseFilter parseFilter = new ParseFilter();
      scan.setFilter(
          parseFilter.parseFilterString(tScan.getFilterString()));
    }
    return addScanner(table.getScanner(scan));
  } catch (IOException e) {
    LOG.warn(e.getMessage(), e);
    throw new IOError(e.getMessage());
  }
}
项目:hbase-0.94.8-qod    文件:ThriftServerRunner.java   
public int scannerOpenWithScan(ByteBuffer tableName, TScan tScan,
    Map<ByteBuffer, ByteBuffer> attributes)
    throws IOError {
  try {
    HTable table = getTable(tableName);
    Scan scan = new Scan();
    addAttributes(scan, attributes);
    if (tScan.isSetStartRow()) {
      scan.setStartRow(tScan.getStartRow());
    }
    if (tScan.isSetStopRow()) {
      scan.setStopRow(tScan.getStopRow());
    }
    if (tScan.isSetTimestamp()) {
      scan.setTimeRange(Long.MIN_VALUE, tScan.getTimestamp());
    }
    if (tScan.isSetCaching()) {
      scan.setCaching(tScan.getCaching());
    }
    if (tScan.isSetColumns() && tScan.getColumns().size() != 0) {
      for(ByteBuffer column : tScan.getColumns()) {
        byte [][] famQf = KeyValue.parseColumn(getBytes(column));
        if(famQf.length == 1) {
          scan.addFamily(famQf[0]);
        } else {
          scan.addColumn(famQf[0], famQf[1]);
        }
      }
    }
    if (tScan.isSetFilterString()) {
      ParseFilter parseFilter = new ParseFilter();
      scan.setFilter(
          parseFilter.parseFilterString(tScan.getFilterString()));
    }
    return addScanner(table.getScanner(scan));
  } catch (IOException e) {
    LOG.warn(e.getMessage(), e);
    throw new IOError(e.getMessage());
  }
}
项目:DominoHBase    文件:ThriftServerRunner.java   
public int scannerOpenWithScan(ByteBuffer tableName, TScan tScan,
    Map<ByteBuffer, ByteBuffer> attributes)
    throws IOError {
  try {
    HTable table = getTable(tableName);
    Scan scan = new Scan();
    addAttributes(scan, attributes);
    if (tScan.isSetStartRow()) {
      scan.setStartRow(tScan.getStartRow());
    }
    if (tScan.isSetStopRow()) {
      scan.setStopRow(tScan.getStopRow());
    }
    if (tScan.isSetTimestamp()) {
      scan.setTimeRange(Long.MIN_VALUE, tScan.getTimestamp());
    }
    if (tScan.isSetCaching()) {
      scan.setCaching(tScan.getCaching());
    }
    if (tScan.isSetColumns() && tScan.getColumns().size() != 0) {
      for(ByteBuffer column : tScan.getColumns()) {
        byte [][] famQf = KeyValue.parseColumn(getBytes(column));
        if(famQf.length == 1) {
          scan.addFamily(famQf[0]);
        } else {
          scan.addColumn(famQf[0], famQf[1]);
        }
      }
    }
    if (tScan.isSetFilterString()) {
      ParseFilter parseFilter = new ParseFilter();
      scan.setFilter(
          parseFilter.parseFilterString(tScan.getFilterString()));
    }
    return addScanner(table.getScanner(scan));
  } catch (IOException e) {
    LOG.warn(e.getMessage(), e);
    throw new IOError(e.getMessage());
  }
}
项目:hindex    文件:ThriftServerRunner.java   
public int scannerOpenWithScan(ByteBuffer tableName, TScan tScan,
    Map<ByteBuffer, ByteBuffer> attributes)
    throws IOError {
  try {
    HTable table = getTable(tableName);
    Scan scan = new Scan();
    addAttributes(scan, attributes);
    if (tScan.isSetStartRow()) {
      scan.setStartRow(tScan.getStartRow());
    }
    if (tScan.isSetStopRow()) {
      scan.setStopRow(tScan.getStopRow());
    }
    if (tScan.isSetTimestamp()) {
      scan.setTimeRange(Long.MIN_VALUE, tScan.getTimestamp());
    }
    if (tScan.isSetCaching()) {
      scan.setCaching(tScan.getCaching());
    }
    if (tScan.isSetColumns() && tScan.getColumns().size() != 0) {
      for(ByteBuffer column : tScan.getColumns()) {
        byte [][] famQf = KeyValue.parseColumn(getBytes(column));
        if(famQf.length == 1) {
          scan.addFamily(famQf[0]);
        } else {
          scan.addColumn(famQf[0], famQf[1]);
        }
      }
    }
    if (tScan.isSetFilterString()) {
      ParseFilter parseFilter = new ParseFilter();
      scan.setFilter(
          parseFilter.parseFilterString(tScan.getFilterString()));
    }
    return addScanner(table.getScanner(scan));
  } catch (IOException e) {
    LOG.warn(e.getMessage(), e);
    throw new IOError(e.getMessage());
  }
}
项目:ditb    文件:ThriftServerRunner.java   
@Override
public int scannerOpenWithScan(ByteBuffer tableName, TScan tScan,
    Map<ByteBuffer, ByteBuffer> attributes)
    throws IOError {

  Table table = null;
  try {
    table = getTable(tableName);
    Scan scan = new Scan();
    addAttributes(scan, attributes);
    if (tScan.isSetStartRow()) {
      scan.setStartRow(tScan.getStartRow());
    }
    if (tScan.isSetStopRow()) {
      scan.setStopRow(tScan.getStopRow());
    }
    if (tScan.isSetTimestamp()) {
      scan.setTimeRange(0, tScan.getTimestamp());
    }
    if (tScan.isSetCaching()) {
      scan.setCaching(tScan.getCaching());
    }
    if (tScan.isSetBatchSize()) {
      scan.setBatch(tScan.getBatchSize());
    }
    if (tScan.isSetColumns() && tScan.getColumns().size() != 0) {
      for(ByteBuffer column : tScan.getColumns()) {
        byte [][] famQf = KeyValue.parseColumn(getBytes(column));
        if(famQf.length == 1) {
          scan.addFamily(famQf[0]);
        } else {
          scan.addColumn(famQf[0], famQf[1]);
        }
      }
    }
    if (tScan.isSetFilterString()) {
      ParseFilter parseFilter = new ParseFilter();
      scan.setFilter(
          parseFilter.parseFilterString(tScan.getFilterString()));
    }
    if (tScan.isSetReversed()) {
      scan.setReversed(tScan.isReversed());
    }
    return addScanner(table.getScanner(scan), tScan.sortColumns);
  } catch (IOException e) {
    LOG.warn(e.getMessage(), e);
    throw new IOError(Throwables.getStackTraceAsString(e));
  } finally{
    closeTable(table);
  }
}
项目:HIndex    文件:ThriftServerRunner.java   
@Override
public int scannerOpenWithScan(ByteBuffer tableName, TScan tScan,
    Map<ByteBuffer, ByteBuffer> attributes)
    throws IOError {
  try {
    HTable table = getTable(tableName);
    Scan scan = new Scan();
    addAttributes(scan, attributes);
    if (tScan.isSetStartRow()) {
      scan.setStartRow(tScan.getStartRow());
    }
    if (tScan.isSetStopRow()) {
      scan.setStopRow(tScan.getStopRow());
    }
    if (tScan.isSetTimestamp()) {
      scan.setTimeRange(0, tScan.getTimestamp());
    }
    if (tScan.isSetCaching()) {
      scan.setCaching(tScan.getCaching());
    }
    if (tScan.isSetBatchSize()) {
      scan.setBatch(tScan.getBatchSize());
    }
    if (tScan.isSetColumns() && tScan.getColumns().size() != 0) {
      for(ByteBuffer column : tScan.getColumns()) {
        byte [][] famQf = KeyValue.parseColumn(getBytes(column));
        if(famQf.length == 1) {
          scan.addFamily(famQf[0]);
        } else {
          scan.addColumn(famQf[0], famQf[1]);
        }
      }
    }
    if (tScan.isSetFilterString()) {
      ParseFilter parseFilter = new ParseFilter();
      scan.setFilter(
          parseFilter.parseFilterString(tScan.getFilterString()));
    }
    return addScanner(table.getScanner(scan), tScan.sortColumns);
  } catch (IOException e) {
    LOG.warn(e.getMessage(), e);
    throw new IOError(e.getMessage());
  }
}
项目:openyu-commons    文件:HBaseThriftDMLTest.java   
/**
 * scan 讀取特定column
 *
 * @throws Exception
 */
@Test
// 1053 at mills.
// 897 at mills.
// 888 at mills.
public void scanOneColumn() throws Exception {
    // String TABLE_NAME = "ItemCreation_Buffer_Item";
    // String rowKey =
    // "0016630555\\x0501\\x0501\\x05A1FS\\x05CreateItem\\x0516630555\\x050000116\\x05670744-086876166705";
    // String cloumn = "ItemInfo:SellerId";

    String TABLE_NAME = "UIH_OverallItemInfo";
    String rowKey = "1000|I200|A17P|AUDI15028071";
    String cloumn = "CommonInfo:SellerID";

    List<TRowResult> results = null;
    //
    List<ByteBuffer> columns = new LinkedList<ByteBuffer>();
    columns.add(ByteBufferHelper.toByteBuffer(cloumn));
    Map<ByteBuffer, ByteBuffer> attributes = new HashMap<ByteBuffer, ByteBuffer>();
    //
    TScan scan = new TScan();
    scan.setCaching(200);
    scan.setStartRow(ByteBufferHelper.toByteBuffer(rowKey));
    // scan.setStopRow(ByteBufferHelper.toByteBuffer(rowKey));
    scan.setColumns(columns);
    //
    int scannerId = 0;
    long beg = System.currentTimeMillis();
    try {
        scannerId = client.scannerOpenWithScan(
                ByteBufferHelper.toByteBuffer(TABLE_NAME), scan, attributes);// 可以attributes=null
        results = client.scannerGetList(scannerId, 10);// 讀取幾筆
    } catch (Exception ex) {
        ex.printStackTrace();
    } finally {
        if (scannerId >= 0) {
            client.scannerClose(scannerId);// 一定要關閉
        }
    }
    long end = System.currentTimeMillis();
    System.out.println((end - beg) + " at mills.");
    printlnResult(results);
}
项目:openyu-commons    文件:HBaseThriftDMLTest.java   
@Test
public void scanNotClose() throws Exception {
    String TABLE_NAME = "ItemCreation_Buffer_Item_B";
    String cloumn = "ItemInfo:ProcessResult";
    //
    List<ByteBuffer> columns = new LinkedList<ByteBuffer>();
    columns.add(ByteBufferHelper.toByteBuffer(cloumn));
    columns.add(ByteBufferHelper.toByteBuffer("ItemInfo:ProcessStatus"));
    Map<ByteBuffer, ByteBuffer> attributes = new HashMap<ByteBuffer, ByteBuffer>();
    //
    TScan scan = new TScan();
    scan.setCaching(200);
    //
    String filterString = "SingleColumnValueFilter('ItemInfo','ProcessResult',=,'substring:Test')";// substring:A17P
    filterString += " AND SingleColumnValueFilter('ItemInfo','ProcessStatus',=,'substring:Test')";
    scan.setFilterString(ByteBufferHelper.toByteBuffer(filterString));
    scan.setColumns(columns);
    //
    int scannerId = 0;
    int rowCount = 0;
    long beg = System.currentTimeMillis();
    for (int i = 0; i < 1000; i++) {
        try {
            scannerId = client.scannerOpenWithScan(
                    ByteBufferHelper.toByteBuffer(TABLE_NAME), scan,
                    attributes);// 可以attributes=null
            // System.out.println(scannerId);
            while (true) {
                List<TRowResult> results = client.scannerGet(scannerId);
                if (results.isEmpty()) {
                    break;
                }
                System.out.println(i + ", " + scannerId);
                // printlnResult(results);
                rowCount++;

                if (rowCount > 0) {
                    break;
                }
            }

        } catch (Exception ex) {
            ex.printStackTrace();
        } finally {
            if (scannerId >= 0) {
                // 故意不關
                // client.scannerClose(scannerId);// 一定要關閉
            }
        }
    }
    //
    long end = System.currentTimeMillis();
    System.out.println((end - beg) + " at mills.");
}
项目:openyu-commons    文件:HBaseThriftDMLTest.java   
@Test
public void singleColumnValueFilter() throws Exception {
    String TABLE_NAME = "UIH_OverallItemInfo";
    String cloumn = "CommonInfo:SellerID";

    List<TRowResult> results = null;
    //
    List<ByteBuffer> columns = new LinkedList<ByteBuffer>();
    columns.add(ByteBufferHelper.toByteBuffer(cloumn));
    columns.add(ByteBufferHelper.toByteBuffer("CommonInfo:SellerItemNumber"));
    Map<ByteBuffer, ByteBuffer> attributes = new HashMap<ByteBuffer, ByteBuffer>();
    //
    TScan scan = new TScan();
    scan.setCaching(200);
    // SingleColumnValueFilter('<family>', '<qualifier>', <compare
    // operator>, '<comparator>', <filterIfColumnMissing_boolean>,
    // <latest_version_boolean>)

    // 注意: 只有當COLUMNS中包含SingleColumnValueFilter提到的欄位時,
    // 該SingleColumnValueFilter才有效的

    String filterString = "SingleColumnValueFilter('CommonInfo','SellerID',=,'binary:A17P')";// substring:A17P
    filterString += " AND SingleColumnValueFilter('CommonInfo','SellerItemNumber',=,'binary:AUDI15028005')";
    scan.setFilterString(ByteBufferHelper.toByteBuffer(filterString));
    scan.setColumns(columns);
    //
    int scannerId = 0;
    long beg = System.currentTimeMillis();
    try {
        scannerId = client.scannerOpenWithScan(
                ByteBufferHelper.toByteBuffer(TABLE_NAME), scan, attributes);// 可以attributes=null
        results = client.scannerGetList(scannerId, 10);// 讀取幾筆
    } catch (Exception ex) {
        ex.printStackTrace();
    } finally {
        if (scannerId >= 0) {
            client.scannerClose(scannerId);// 一定要關閉
        }
    }
    long end = System.currentTimeMillis();
    System.out.println((end - beg) + " at mills.");
    printlnResult(results);
}
项目:hbase    文件:ThriftServerRunner.java   
@Override
public int scannerOpenWithScan(ByteBuffer tableName, TScan tScan,
    Map<ByteBuffer, ByteBuffer> attributes)
    throws IOError {

  Table table = null;
  try {
    table = getTable(tableName);
    Scan scan = new Scan();
    addAttributes(scan, attributes);
    if (tScan.isSetStartRow()) {
      scan.setStartRow(tScan.getStartRow());
    }
    if (tScan.isSetStopRow()) {
      scan.setStopRow(tScan.getStopRow());
    }
    if (tScan.isSetTimestamp()) {
      scan.setTimeRange(0, tScan.getTimestamp());
    }
    if (tScan.isSetCaching()) {
      scan.setCaching(tScan.getCaching());
    }
    if (tScan.isSetBatchSize()) {
      scan.setBatch(tScan.getBatchSize());
    }
    if (tScan.isSetColumns() && tScan.getColumns().size() != 0) {
      for(ByteBuffer column : tScan.getColumns()) {
        byte [][] famQf = CellUtil.parseColumn(getBytes(column));
        if(famQf.length == 1) {
          scan.addFamily(famQf[0]);
        } else {
          scan.addColumn(famQf[0], famQf[1]);
        }
      }
    }
    if (tScan.isSetFilterString()) {
      ParseFilter parseFilter = new ParseFilter();
      scan.setFilter(
          parseFilter.parseFilterString(tScan.getFilterString()));
    }
    if (tScan.isSetReversed()) {
      scan.setReversed(tScan.isReversed());
    }
    if (tScan.isSetCacheBlocks()) {
      scan.setCacheBlocks(tScan.isCacheBlocks());
    }
    return addScanner(table.getScanner(scan), tScan.sortColumns);
  } catch (IOException e) {
    LOG.warn(e.getMessage(), e);
    throw getIOError(e);
  } finally{
    closeTable(table);
  }
}
项目:PyroDB    文件:ThriftServerRunner.java   
@Override
public int scannerOpenWithScan(ByteBuffer tableName, TScan tScan,
    Map<ByteBuffer, ByteBuffer> attributes)
    throws IOError {
  try {
    HTable table = getTable(tableName);
    Scan scan = new Scan();
    addAttributes(scan, attributes);
    if (tScan.isSetStartRow()) {
      scan.setStartRow(tScan.getStartRow());
    }
    if (tScan.isSetStopRow()) {
      scan.setStopRow(tScan.getStopRow());
    }
    if (tScan.isSetTimestamp()) {
      scan.setTimeRange(0, tScan.getTimestamp());
    }
    if (tScan.isSetCaching()) {
      scan.setCaching(tScan.getCaching());
    }
    if (tScan.isSetBatchSize()) {
      scan.setBatch(tScan.getBatchSize());
    }
    if (tScan.isSetColumns() && tScan.getColumns().size() != 0) {
      for(ByteBuffer column : tScan.getColumns()) {
        byte [][] famQf = KeyValue.parseColumn(getBytes(column));
        if(famQf.length == 1) {
          scan.addFamily(famQf[0]);
        } else {
          scan.addColumn(famQf[0], famQf[1]);
        }
      }
    }
    if (tScan.isSetFilterString()) {
      ParseFilter parseFilter = new ParseFilter();
      scan.setFilter(
          parseFilter.parseFilterString(tScan.getFilterString()));
    }
    if (tScan.isSetReversed()) {
      scan.setReversed(tScan.isReversed());
    }
    return addScanner(table.getScanner(scan), tScan.sortColumns);
  } catch (IOException e) {
    LOG.warn(e.getMessage(), e);
    throw new IOError(e.getMessage());
  }
}