Package org.apache.accumulo.core.client

Examples of org.apache.accumulo.core.client.BatchScanner


    int numThreads = 20;
    if (cl.hasOption(numThreadsOpt.getOpt())) {
      numThreads = Integer.parseInt(cl.getOptionValue(numThreadsOpt.getOpt()));
    }
    Authorizations auths = getAuths(cl, shellState);
    BatchScanner scanner = shellState.getConnector().createBatchScanner(tableName, auths, numThreads);
    scanner.setRanges(Collections.singletonList(getRange(cl)));
   
    for (int i = 0; i < cl.getArgs().length; i++)
      setUpIterator(Integer.MAX_VALUE - cl.getArgs().length + i, "grep" + i, cl.getArgs()[i], scanner);
   
    try {
      // handle columns
      fetchColumns(cl, scanner);
     
      // output the records
      printRecords(cl, shellState, scanner);
    } finally {
      scanner.close();
    }
   
    return 0;
  }
View Full Code Here


    Scanner scanner = getConnector().createScanner("foo", new Authorizations());
   
    setupIter(scanner);
    verify(scanner, 1, 999);
   
    BatchScanner bscanner = getConnector().createBatchScanner("foo", new Authorizations(), 3);
    bscanner.setRanges(Collections.singleton(new Range((Key) null, null)));
   
    setupIter(bscanner);
    verify(bscanner, 1, 999);
   
    ArrayList<Range> ranges = new ArrayList<Range>();
    ranges.add(new Range(new Text(String.format("%06d", 1))));
    ranges.add(new Range(new Text(String.format("%06d", 6)), new Text(String.format("%06d", 16))));
    ranges.add(new Range(new Text(String.format("%06d", 20))));
    ranges.add(new Range(new Text(String.format("%06d", 23))));
    ranges.add(new Range(new Text(String.format("%06d", 56)), new Text(String.format("%06d", 61))));
    ranges.add(new Range(new Text(String.format("%06d", 501)), new Text(String.format("%06d", 504))));
    ranges.add(new Range(new Text(String.format("%06d", 998)), new Text(String.format("%06d", 1000))));
   
    HashSet<Integer> got = new HashSet<Integer>();
    HashSet<Integer> expected = new HashSet<Integer>();
    for (int i : new int[] {1, 7, 9, 11, 13, 15, 23, 57, 59, 61, 501, 503, 999}) {
      expected.add(i);
    }
   
    bscanner.setRanges(ranges);
   
    for (Entry<Key,Value> entry : bscanner) {
      got.add(Integer.parseInt(entry.getKey().getRow().toString()));
    }
   
    System.out.println("got : " + got);
   
    if (!got.equals(expected)) {
      throw new Exception(got + " != " + expected);
    }
   
    bscanner.close();
   
  }
View Full Code Here

    if (numVerify > (numWrites / 4)) {
      numVerify = numWrites / 4;
    }
   
    Connector conn = state.getConnector();
    BatchScanner scanner = conn.createBatchScanner(state.getString("seqTableName"), new Authorizations(), 2);
   
    try {
      int count = 0;
      List<Range> ranges = new ArrayList<Range>();
      while (count < numVerify) {
        int rangeStart = rand.nextInt(numWrites);
        int rangeEnd = rangeStart + 99;
        if (rangeEnd > (numWrites - 1)) {
          rangeEnd = numWrites - 1;
        }
        count += (rangeEnd - rangeStart) + 1;
        ranges.add(new Range(new Text(String.format("%010d", rangeStart)), new Text(String.format("%010d", rangeEnd))));
      }
     
      ranges = Range.mergeOverlapping(ranges);
      Collections.sort(ranges);
     
      if (count == 0 || ranges.size() == 0)
        return;
     
      log.debug(String.format("scanning %d rows in the following %d ranges:", count, ranges.size()));
      for (Range r : ranges) {
        log.debug(r);
      }
     
      scanner.setRanges(ranges);
     
      List<Key> keys = new ArrayList<Key>();
      for (Entry<Key,Value> entry : scanner) {
        keys.add(entry.getKey());
      }
     
      log.debug("scan returned " + keys.size() + " rows. now verifying...");
     
      Collections.sort(keys);
     
      Iterator<Key> iterator = keys.iterator();
      int curKey = Integer.parseInt(iterator.next().getRow().toString());
      boolean done = false;
      for (Range r : ranges) {
        int start = Integer.parseInt(r.getStartKey().getRow().toString());
        int end = Integer.parseInt(String.copyValueOf(r.getEndKey().getRow().toString().toCharArray(), 0, 10));
        for (int i = start; i <= end; i++) {
         
          if (done) {
            log.error("missing key " + i);
            break;
          }
         
          while (curKey < i) {
            log.error("extra key " + curKey);
            if (iterator.hasNext() == false) {
              done = true;
              break;
            }
            curKey = Integer.parseInt(iterator.next().getRow().toString());
          }
         
          if (curKey > i) {
            log.error("missing key " + i);
          }
         
          if (iterator.hasNext()) {
            curKey = Integer.parseInt(iterator.next().getRow().toString());
          } else {
            done = true;
          }
        }
      }
     
      log.debug("verify is now complete");
    } finally {
      scanner.close();
    }
  }
View Full Code Here

      }
     
      ranges.add(range);
    }
   
    BatchScanner bs = getConnector().createBatchScanner(table, Constants.NO_AUTHS, 3);
    bs.setRanges(ranges);
   
    long t1 = System.currentTimeMillis();
   
    for (Entry<Key,Value> entry : bs) {
      long v = Long.parseLong(entry.getValue().toString());
View Full Code Here

    String pass = args[4];
   
    ZooKeeperInstance zki = new ZooKeeperInstance(instance, zooKeepers);
    Connector conn = zki.getConnector(user, pass.getBytes());
   
    BatchScanner bs = conn.createBatchScanner(table, Constants.NO_AUTHS, 20);
   
    Text columns[] = new Text[args.length - 5];
    for (int i = 5; i < args.length; i++) {
      columns[i - 5] = new Text(args[i]);
    }
    IteratorSetting ii = new IteratorSetting(20, "ii", IntersectingIterator.class);
    IntersectingIterator.setColumnFamilies(ii, columns);
    bs.addScanIterator(ii);
    bs.setRanges(Collections.singleton(new Range()));
    for (Entry<Key,Value> entry : bs) {
      System.out.println("  " + entry.getKey().getColumnQualifier());
    }
   
  }
View Full Code Here

   
    ArrayList<Text[]> randTerms = findRandomTerms(conn.createScanner(docTable, Constants.NO_AUTHS), numTerms);
   
    Random rand = new Random();
   
    BatchScanner bs = conn.createBatchScanner(table, Constants.NO_AUTHS, 20);
   
    for (long i = 0; i < iterations; i += 1) {
      Text[] columns = randTerms.get(rand.nextInt(randTerms.size()));
     
      bs.clearScanIterators();
      bs.clearColumns();
     
      IteratorSetting ii = new IteratorSetting(20, "ii", IntersectingIterator.class);
      IntersectingIterator.setColumnFamilies(ii, columns);
      bs.addScanIterator(ii);
      bs.setRanges(Collections.singleton(new Range()));
     
      long t1 = System.currentTimeMillis();
      int count = 0;
      for (@SuppressWarnings("unused")
      Entry<Key,Value> entry : bs) {
        count++;
      }
      long t2 = System.currentTimeMillis();
     
      System.out.printf("  %s %,d %6.3f\n", Arrays.asList(columns), count, (t2 - t1) / 1000.0);
    }
   
    bs.close();
   
  }
View Full Code Here

    // Logger logger = Logger.getLogger(Constants.CORE_PACKAGE_NAME);
    // logger.setLevel(Level.TRACE);
   
    ZooKeeperInstance instance = new ZooKeeperInstance(instanceName, zooKeepers);
    Connector connector = instance.getConnector(user, pass);
    BatchScanner tsbr = connector.createBatchScanner(table, new Authorizations(auths.split(",")), numThreads);
   
    Random r;
    if (seed == null)
      r = new Random();
    else
      r = new Random(Long.parseLong(seed));
   
    // do one cold
    doRandomQueries(num, min, max, expectedValueSize, r, tsbr);
   
    System.gc();
    System.gc();
    System.gc();
   
    if (seed == null)
      r = new Random();
    else
      r = new Random(Long.parseLong(seed));
   
    // do one hot (connections already established, metadata table cached)
    doRandomQueries(num, min, max, expectedValueSize, r, tsbr);
   
    tsbr.close();
  }
View Full Code Here

    Scanner s = conn.createScanner("ret", Constants.NO_AUTHS);
    s.setRange(range);
    setRegexs(s, rowRegEx, cfRegEx, cqRegEx, valRegEx);
    runTest(s, rowRegEx, cfRegEx, cqRegEx, valRegEx, expected);
   
    BatchScanner bs = conn.createBatchScanner("ret", Constants.NO_AUTHS, 1);
    bs.setRanges(Collections.singletonList(range));
    setRegexs(bs, rowRegEx, cfRegEx, cqRegEx, valRegEx);
    runTest(bs, rowRegEx, cfRegEx, cqRegEx, valRegEx, expected);
    bs.close();
  }
View Full Code Here

    List<String> tableNames = (List<String>) state.get("tables");
   
    String tableName = tableNames.get(rand.nextInt(tableNames.size()));
   
    try {
      BatchScanner bs = conn.createBatchScanner(tableName, Constants.NO_AUTHS, 3);
      List<Range> ranges = new ArrayList<Range>();
      for (int i = 0; i < rand.nextInt(2000) + 1; i++)
        ranges.add(new Range(String.format("%016x", Math.abs(rand.nextLong()))));
     
      bs.setRanges(ranges);
     
      try {
        Iterator<Entry<Key,Value>> iter = bs.iterator();
        while (iter.hasNext())
          iter.next();
      } finally {
        bs.close();
      }
     
      log.debug("Wrote to " + tableName);
    } catch (TableNotFoundException e) {
      log.debug("BatchScan " + tableName + " failed, doesnt exist");
View Full Code Here

    int numThreads = 20;
    if (cl.hasOption(numThreadsOpt.getOpt())) {
      numThreads = Integer.parseInt(cl.getOptionValue(numThreadsOpt.getOpt()));
    }
    final Authorizations auths = getAuths(cl, shellState);
    final BatchScanner scanner = shellState.getConnector().createBatchScanner(tableName, auths, numThreads);
    scanner.setRanges(Collections.singletonList(getRange(cl, interpeter)));
   
    scanner.setTimeout(getTimeout(cl), TimeUnit.MILLISECONDS);
   
    for (int i = 0; i < cl.getArgs().length; i++) {
      setUpIterator(Integer.MAX_VALUE - cl.getArgs().length + i, "grep" + i, cl.getArgs()[i], scanner, cl);
    }
    try {
      // handle columns
      fetchColumns(cl, scanner, interpeter);
     
      // output the records
      printRecords(cl, shellState, scanner, formatter);
    } finally {
      scanner.close();
    }
   
    return 0;
  }
View Full Code Here

TOP

Related Classes of org.apache.accumulo.core.client.BatchScanner

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.