org.apache.hadoop.hbase.client.Table.exists()方法的使用及代码示例

x33g5p2x  于2022-01-29 转载在 其他  
字(9.2k)|赞(0)|评价(0)|浏览(187)

本文整理了Java中org.apache.hadoop.hbase.client.Table.exists()方法的一些代码示例,展示了Table.exists()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Table.exists()方法的具体详情如下:
包路径:org.apache.hadoop.hbase.client.Table
类名称:Table
方法名:exists

Table.exists介绍

[英]Test for the existence of columns in the table, as specified by the Gets.

This will return an array of booleans. Each value will be true if the related Get matches one or more keys, false if not.

This is a server-side call so it prevents any data from being transferred to the client.
[中]测试表中是否存在Gets指定的列。
这将返回一系列布尔值。如果相关Get匹配一个或多个键,则每个值都将为true,否则为false。
这是一个服务器端调用,因此它可以防止任何数据传输到客户端。

代码示例

代码示例来源:origin: apache/hbase

  1. /**
  2. * Test for the existence of columns in the table, as specified by the Gets.
  3. * This will return an array of booleans. Each value will be true if the related Get matches
  4. * one or more keys, false if not.
  5. * This is a server-side call so it prevents any data from being transferred to
  6. * the client.
  7. *
  8. * @param gets the Gets
  9. * @return Array of boolean. True if the specified Get matches one or more keys, false if not.
  10. * @throws IOException e
  11. * @deprecated since 2.0 version and will be removed in 3.0 version.
  12. * use {@link #exists(List)}
  13. */
  14. @Deprecated
  15. default boolean[] existsAll(List<Get> gets) throws IOException {
  16. return exists(gets);
  17. }

代码示例来源:origin: apache/hbase

  1. public void testCheckAndDelete(Connection connection, String tableName) throws IOException {
  2. createTable(thriftAdmin, tableName);
  3. try (Table table = connection.getTable(TableName.valueOf(tableName))){
  4. Get get = new Get(ROW_1);
  5. Result result = table.get(get);
  6. byte[] value1 = result.getValue(FAMILYA, QUALIFIER_1);
  7. byte[] value2 = result.getValue(FAMILYB, QUALIFIER_2);
  8. assertNotNull(value1);
  9. assertTrue(Bytes.equals(VALUE_1, value1));
  10. assertNull(value2);
  11. assertTrue(table.exists(get));
  12. assertEquals(1, table.existsAll(Collections.singletonList(get)).length);
  13. Delete delete = new Delete(ROW_1);
  14. table.checkAndMutate(ROW_1, FAMILYA).qualifier(QUALIFIER_1)
  15. .ifEquals(VALUE_1).thenDelete(delete);
  16. assertFalse(table.exists(get));
  17. Put put = new Put(ROW_1);
  18. put.addColumn(FAMILYA, QUALIFIER_1, VALUE_1);
  19. table.put(put);
  20. assertTrue(table.checkAndMutate(ROW_1, FAMILYA).qualifier(QUALIFIER_1)
  21. .ifEquals(VALUE_1).thenPut(put));
  22. assertFalse(table.checkAndMutate(ROW_1, FAMILYA).qualifier(QUALIFIER_1)
  23. .ifEquals(VALUE_2).thenPut(put));
  24. }
  25. }

代码示例来源:origin: apache/hbase

  1. /**
  2. * Test for the existence of columns in the table, as specified by the Get.
  3. * <p>
  4. *
  5. * This will return true if the Get matches one or more keys, false if not.
  6. * <p>
  7. *
  8. * This is a server-side call so it prevents any data from being transfered to
  9. * the client.
  10. *
  11. * @param get the Get
  12. * @return true if the specified Get matches one or more keys, false if not
  13. * @throws IOException e
  14. */
  15. default boolean exists(Get get) throws IOException {
  16. return exists(Collections.singletonList(get))[0];
  17. }

代码示例来源:origin: apache/hbase

  1. private void assertNotExists(int start, int end) throws IOException {
  2. for (int i = start; i < end; i++) {
  3. assertFalse(TABLE.exists(new Get(Bytes.toBytes(i))));
  4. }
  5. }

代码示例来源:origin: apache/hbase

  1. @Override
  2. public boolean evaluate() throws Exception {
  3. try (Table table = UTIL1.getConnection().getTable(TABLE_NAME)) {
  4. return table.exists(new Get(Bytes.toBytes(0)));
  5. }
  6. }

代码示例来源:origin: apache/hbase

  1. @Override
  2. public boolean exists(ByteBuffer table, TGet get) throws TIOError, TException {
  3. Table htable = getTable(table);
  4. try {
  5. return htable.exists(getFromThrift(get));
  6. } catch (IOException e) {
  7. throw getTIOError(e);
  8. } finally {
  9. closeTable(htable);
  10. }
  11. }

代码示例来源:origin: apache/drill

  1. @Override
  2. public boolean contains(String key) {
  3. try {
  4. Get get = new Get(row(key));
  5. get.addColumn(FAMILY, QUALIFIER);
  6. return hbaseTable.exists(get);
  7. } catch (IOException e) {
  8. throw UserException
  9. .dataReadError(e)
  10. .message("Caught error while checking row existence '%s' for table '%s'", key, hbaseTableName)
  11. .build(logger);
  12. }
  13. }

代码示例来源:origin: apache/hbase

  1. @Test
  2. public void testHTableExistsMethodMultipleRegionsSingleGet() throws Exception {
  3. Table table = TEST_UTIL.createTable(
  4. TableName.valueOf(name.getMethodName()), new byte[][] { FAMILY },
  5. 1, new byte[] { 0x00 }, new byte[] { (byte) 0xff }, 255);
  6. Put put = new Put(ROW);
  7. put.addColumn(FAMILY, QUALIFIER, VALUE);
  8. Get get = new Get(ROW);
  9. boolean exist = table.exists(get);
  10. assertFalse(exist);
  11. table.put(put);
  12. exist = table.exists(get);
  13. assertTrue(exist);
  14. }

代码示例来源:origin: apache/hbase

  1. @Test
  2. public void testHTableExistsMethodSingleRegionMultipleGets() throws Exception {
  3. Table table = TEST_UTIL.createTable(TableName.valueOf(
  4. name.getMethodName()), new byte[][] { FAMILY });
  5. Put put = new Put(ROW);
  6. put.addColumn(FAMILY, QUALIFIER, VALUE);
  7. table.put(put);
  8. List<Get> gets = new ArrayList<>();
  9. gets.add(new Get(ROW));
  10. gets.add(new Get(ANOTHERROW));
  11. boolean[] results = table.exists(gets);
  12. assertTrue(results[0]);
  13. assertFalse(results[1]);
  14. }

代码示例来源:origin: apache/hbase

  1. @Test
  2. public void testHTableExistsMethodSingleRegionSingleGet() throws Exception {
  3. // Test with a single region table.
  4. Table table = TEST_UTIL.createTable(
  5. TableName.valueOf(name.getMethodName()),
  6. new byte[][] { FAMILY });
  7. Put put = new Put(ROW);
  8. put.addColumn(FAMILY, QUALIFIER, VALUE);
  9. Get get = new Get(ROW);
  10. boolean exist = table.exists(get);
  11. assertFalse(exist);
  12. table.put(put);
  13. exist = table.exists(get);
  14. assertTrue(exist);
  15. }

代码示例来源:origin: apache/hbase

  1. try {
  2. table.exists(new Get(Bytes.toBytes("abc")));
  3. } catch (SocketTimeoutException e) {

代码示例来源:origin: apache/hbase

  1. try {
  2. table.exists(new Get(Bytes.toBytes("abc")));
  3. } catch (SocketTimeoutException e) {

代码示例来源:origin: apache/hbase

  1. @Test
  2. public void testBatchWithDelete() throws Exception {
  3. LOG.info("test=testBatchWithDelete");
  4. Table table = UTIL.getConnection().getTable(TEST_TABLE);
  5. // Load some data
  6. List<Put> puts = constructPutRequests();
  7. Object[] results = new Object[puts.size()];
  8. table.batch(puts, results);
  9. validateSizeAndEmpty(results, KEYS.length);
  10. // Deletes
  11. List<Row> deletes = new ArrayList<>();
  12. for (int i = 0; i < KEYS.length; i++) {
  13. Delete delete = new Delete(KEYS[i]);
  14. delete.addFamily(BYTES_FAMILY);
  15. deletes.add(delete);
  16. }
  17. results= new Object[deletes.size()];
  18. table.batch(deletes, results);
  19. validateSizeAndEmpty(results, KEYS.length);
  20. // Get to make sure ...
  21. for (byte[] k : KEYS) {
  22. Get get = new Get(k);
  23. get.addColumn(BYTES_FAMILY, QUALIFIER);
  24. Assert.assertFalse(table.exists(get));
  25. }
  26. table.close();
  27. }

代码示例来源:origin: apache/hbase

  1. @Test
  2. public void testHTableDeleteWithList() throws Exception {
  3. LOG.info("test=testHTableDeleteWithList");
  4. Table table = UTIL.getConnection().getTable(TEST_TABLE);
  5. // Load some data
  6. List<Put> puts = constructPutRequests();
  7. Object[] results = new Object[puts.size()];
  8. table.batch(puts, results);
  9. validateSizeAndEmpty(results, KEYS.length);
  10. // Deletes
  11. ArrayList<Delete> deletes = new ArrayList<>();
  12. for (int i = 0; i < KEYS.length; i++) {
  13. Delete delete = new Delete(KEYS[i]);
  14. delete.addFamily(BYTES_FAMILY);
  15. deletes.add(delete);
  16. }
  17. table.delete(deletes);
  18. Assert.assertTrue(deletes.isEmpty());
  19. // Get to make sure ...
  20. for (byte[] k : KEYS) {
  21. Get get = new Get(k);
  22. get.addColumn(BYTES_FAMILY, QUALIFIER);
  23. Assert.assertFalse(table.exists(get));
  24. }
  25. table.close();
  26. }

代码示例来源:origin: apache/hbase

  1. @Test
  2. public void testTableExistsGetThrottle() throws Exception {
  3. final Admin admin = TEST_UTIL.getAdmin();
  4. // Add throttle quota
  5. admin.setQuota(QuotaSettingsFactory.throttleTable(TABLE_NAMES[0],
  6. ThrottleType.REQUEST_NUMBER, 100, TimeUnit.MINUTES));
  7. triggerTableCacheRefresh(false, TABLE_NAMES[0]);
  8. Table table = TEST_UTIL.getConnection().getTable(TABLE_NAMES[0]);
  9. // An exists call when having throttle quota
  10. table.exists(new Get(Bytes.toBytes("abc")));
  11. admin.setQuota(QuotaSettingsFactory.unthrottleTable(TABLE_NAMES[0]));
  12. triggerTableCacheRefresh(true, TABLE_NAMES[0]);
  13. }

代码示例来源:origin: apache/hbase

  1. @Test
  2. public void testHTableExistsBeforeGet() throws Exception {
  3. Table table = TEST_UTIL.createTable(TableName.valueOf(name.getMethodName()),
  4. new byte[][] { FAMILY });
  5. try {
  6. Put put = new Put(ROW);
  7. put.addColumn(FAMILY, QUALIFIER, VALUE);
  8. table.put(put);
  9. Get get = new Get(ROW);
  10. boolean exist = table.exists(get);
  11. assertEquals(true, exist);
  12. Result result = table.get(get);
  13. assertEquals(false, result.isEmpty());
  14. assertTrue(Bytes.equals(VALUE, result.getValue(FAMILY, QUALIFIER)));
  15. } finally {
  16. table.close();
  17. }
  18. }

代码示例来源:origin: apache/hbase

  1. assertTrue(table.exists(g));

代码示例来源:origin: apache/hbase

  1. @Test
  2. public void testDeleteRowForDeletedRegion() throws IOException, ReplicationException {
  3. TableName tableName = TableName.valueOf(name.getMethodName());
  4. RegionInfo region = RegionInfoBuilder.newBuilder(tableName).build();
  5. addBarrier(region, 40, 50, 60);
  6. fillCatalogFamily(region);
  7. String peerId = "1";
  8. ReplicationQueueStorage queueStorage = create(59L);
  9. @SuppressWarnings("unchecked")
  10. ReplicationPeerManager peerManager = create(queueStorage, Lists.newArrayList(peerId));
  11. ReplicationBarrierCleaner cleaner = create(peerManager);
  12. // we have something in catalog family, so only delete 40
  13. cleaner.chore();
  14. assertArrayEquals(new long[] { 50, 60 },
  15. MetaTableAccessor.getReplicationBarrier(UTIL.getConnection(), region.getRegionName()));
  16. verify(queueStorage, never()).removeLastSequenceIds(anyString(), anyList());
  17. // No catalog family, then we should remove the whole row
  18. clearCatalogFamily(region);
  19. cleaner.chore();
  20. try (Table table = UTIL.getConnection().getTable(TableName.META_TABLE_NAME)) {
  21. assertFalse(table
  22. .exists(new Get(region.getRegionName()).addFamily(HConstants.REPLICATION_BARRIER_FAMILY)));
  23. }
  24. verify(queueStorage, times(1)).removeLastSequenceIds(peerId,
  25. Arrays.asList(region.getEncodedName()));
  26. }

代码示例来源:origin: apache/hbase

  1. assertEquals(0, Bytes.toInt(table.get(new Get(Bytes.toBytes(0))).getValue(CF, CQ)));
  2. assertFalse(table.exists(new Get(Bytes.toBytes(1))));
  3. table.exists(new Get(Bytes.toBytes(0)));
  4. } catch (DoNotRetryIOException | RetriesExhaustedException e) {

代码示例来源:origin: apache/hbase

  1. table.delete(delete);
  2. util.flush(tableName);
  3. assertFalse(table.exists(new Get(Bytes.toBytes(refSFCount-1))));
  4. table.exists(new Get(Bytes.toBytes(refSFCount-1))));

相关文章