use of co.cask.cdap.data2.util.hbase.HBaseTableUtil in project cdap by caskdata.
the class AbstractHBaseTableUtilTest method testDropAllInOtherNamespaceWithPrefix.
@Test
public void testDropAllInOtherNamespaceWithPrefix() throws Exception {
HBaseTableUtil tableUtil = getTableUtil();
createNamespace("foonamespace");
createNamespace("barnamespace");
TableId tableIdWithOtherPrefix = TableId.from("foonamespace", "other.table");
TableId tableIdInOtherNamespace = TableId.from("default", "some.table1");
Futures.allAsList(createAsync(TableId.from("foonamespace", "some.table1")), createAsync(tableIdWithOtherPrefix), createAsync(TableId.from("foonamespace", "some.table2")), createAsync(tableIdInOtherNamespace)).get(60, TimeUnit.SECONDS);
Assert.assertEquals(4, hAdmin.listTables().length);
tableUtil.deleteAllInNamespace(ddlExecutor, tableUtil.getHBaseNamespace(new NamespaceId("foonamespace")), hAdmin.getConfiguration(), new Predicate<TableId>() {
@Override
public boolean apply(TableId input) {
return input.getTableName().startsWith("some");
}
});
Assert.assertEquals(2, hAdmin.listTables().length);
Futures.allAsList(dropAsync(tableIdInOtherNamespace), dropAsync(tableIdWithOtherPrefix)).get(60, TimeUnit.SECONDS);
Assert.assertEquals(0, hAdmin.listTables().length);
deleteNamespace("foonamespace");
deleteNamespace("barnamespace");
}
use of co.cask.cdap.data2.util.hbase.HBaseTableUtil in project cdap by caskdata.
the class AbstractHBaseTableUtilTest method testDropAllInDefaultNamespace.
@Test
public void testDropAllInDefaultNamespace() throws Exception {
HBaseTableUtil tableUtil = getTableUtil();
TableId tableIdInOtherNamespace = TableId.from("default2", "my.dataset");
createNamespace("default2");
Futures.allAsList(createAsync(TableId.from("default", "some.table1")), createAsync(TableId.from("default", "other.table")), createAsync(TableId.from("default", "some.table2")), createAsync(tableIdInOtherNamespace)).get(60, TimeUnit.SECONDS);
Assert.assertEquals(4, hAdmin.listTables().length);
tableUtil.deleteAllInNamespace(ddlExecutor, NamespaceId.DEFAULT.getEntityName(), hAdmin.getConfiguration());
Assert.assertEquals(1, hAdmin.listTables().length);
drop(tableIdInOtherNamespace);
Assert.assertEquals(0, hAdmin.listTables().length);
deleteNamespace("default2");
}
use of co.cask.cdap.data2.util.hbase.HBaseTableUtil in project cdap by caskdata.
the class AbstractHBaseTableUtilTest method testListAllInNamespace.
@Test
public void testListAllInNamespace() throws Exception {
HBaseTableUtil tableUtil = getTableUtil();
Set<TableId> fooNamespaceTableIds = ImmutableSet.of(TableId.from("foo", "some.table1"), TableId.from("foo", "other.table"), TableId.from("foo", "some.table2"));
String fooNamespaceInHbase = String.format("%s_foo", getPrefix());
Set<TableId> fooNamespaceHTableIds = ImmutableSet.of(TableId.from(fooNamespaceInHbase, "some.table1"), TableId.from(fooNamespaceInHbase, "other.table"), TableId.from(fooNamespaceInHbase, "some.table2"));
createNamespace("foo");
createNamespace("foo_bar");
TableId tableIdInOtherNamespace = TableId.from("foo_bar", "my.dataset");
TableId hTableIdInOtherNamespace = TableId.from(String.format("%s_foo_bar", getPrefix()), "my.dataset");
List<ListenableFuture<TableId>> createFutures = new ArrayList<>();
for (TableId tableId : fooNamespaceTableIds) {
createFutures.add(createAsync(tableId));
}
createFutures.add(createAsync(tableIdInOtherNamespace));
Futures.allAsList(createFutures).get(60, TimeUnit.SECONDS);
Set<TableId> retrievedTableIds = ImmutableSet.copyOf(tableUtil.listTablesInNamespace(hAdmin, tableUtil.getHBaseNamespace(new NamespaceId("foo"))));
Assert.assertEquals(fooNamespaceHTableIds, retrievedTableIds);
Set<TableId> allTableIds = ImmutableSet.<TableId>builder().addAll(fooNamespaceHTableIds).add(hTableIdInOtherNamespace).build();
Assert.assertEquals(allTableIds, ImmutableSet.copyOf(tableUtil.listTables(hAdmin)));
Assert.assertEquals(4, hAdmin.listTables().length);
tableUtil.deleteAllInNamespace(ddlExecutor, tableUtil.getHBaseNamespace(new NamespaceId("foo")), hAdmin.getConfiguration());
Assert.assertEquals(1, hAdmin.listTables().length);
drop(tableIdInOtherNamespace);
Assert.assertEquals(0, hAdmin.listTables().length);
deleteNamespace("foo_bar");
}
use of co.cask.cdap.data2.util.hbase.HBaseTableUtil in project cdap by caskdata.
the class AbstractHBaseTableUtilTest method exists.
private boolean exists(TableId tableId) throws IOException {
HBaseTableUtil tableUtil = getTableUtil();
TableId hTableId = tableUtil.createHTableId(new NamespaceId(tableId.getNamespace()), tableId.getTableName());
return tableUtil.tableExists(hAdmin, hTableId);
}
use of co.cask.cdap.data2.util.hbase.HBaseTableUtil in project cdap by caskdata.
the class AbstractHBaseTableUtilTest method getTableId.
private TableId getTableId(String namespace, String tableName) throws IOException {
HBaseTableUtil tableUtil = getTableUtil();
List<TableId> tableIds = tableUtil.listTablesInNamespace(hAdmin, tableUtil.getHBaseNamespace(new NamespaceId(namespace)));
for (TableId tId : tableIds) {
if (tId.getTableName().endsWith(tableName)) {
return tId;
}
}
return null;
}
Aggregations