@Test public final void testFailCreateTablePartitionedOtherExceptColumn() throws IOException, ServiceException, SQLException { TajoConf conf = cluster.getConfiguration(); final String tableName = "testFailCreateTablePartitionedOtherExceptColumn"; assertFalse(client.existTable(tableName)); String rangeSql = "create table " + tableName + " (deptname text, score int4)"; rangeSql += "PARTITION BY RANGE (score)"; rangeSql += "( PARTITION sub_part1 VALUES LESS THAN (2),"; rangeSql += "PARTITION sub_part2 VALUES LESS THAN (5),"; rangeSql += "PARTITION sub_part2 VALUES LESS THAN (MAXVALUE) )"; assertFalse(client.updateQuery(rangeSql)); String listSql = "create table " + tableName + " (deptname text, score int4)"; listSql += "PARTITION BY LIST (deptname)"; listSql += "( PARTITION sub_part1 VALUES('r&d', 'design'),"; listSql += "PARTITION sub_part2 VALUES('sales', 'hr') )"; assertFalse(client.updateQuery(listSql)); String hashSql = "create table " + tableName + " (deptname text, score int4)"; hashSql += "PARTITION BY HASH (deptname)"; hashSql += "PARTITIONS 2"; assertFalse(client.updateQuery(hashSql)); }
@Test public final void testCreateAndPurgeExternalTableByExecuteQuery() throws IOException, ServiceException { TajoConf conf = cluster.getConfiguration(); final String tableName = "testCreateAndPurgeExternalTableByExecuteQuery"; Path tablePath = writeTmpTable(tableName); assertFalse(client.existTable(tableName)); String sql = "create external table " + tableName + " (deptname text, score int4) " + "using csv location '" + tablePath + "'"; client.executeQueryAndGetResult(sql); assertTrue(client.existTable(tableName)); client.updateQuery("drop table " + tableName + " purge"); assertFalse(client.existTable(tableName)); FileSystem localFS = FileSystem.getLocal(conf); assertFalse(localFS.exists(tablePath)); }
@Test public final void testCreateAndPurgeTableByExecuteQuery() throws IOException, ServiceException, SQLException { TajoConf conf = cluster.getConfiguration(); final String tableName = "testCreateAndPurgeTableByExecuteQuery"; assertFalse(client.existTable(tableName)); String sql = "create table " + tableName + " (deptname text, score int4)"; client.updateQuery(sql); assertTrue(client.existTable(tableName)); Path tablePath = client.getTableDesc(tableName).getPath(); FileSystem hdfs = tablePath.getFileSystem(conf); assertTrue(hdfs.exists(tablePath)); client.updateQuery("drop table " + tableName + " purge"); assertFalse(client.existTable(tableName)); assertFalse(hdfs.exists(tablePath)); }
// @Test public final void testCreateAndDropTablePartitionedHash1ByExecuteQuery() throws IOException, ServiceException, SQLException { TajoConf conf = cluster.getConfiguration(); final String tableName = "testCreateAndDropTablePartitionedHash1ByExecuteQuery"; assertFalse(client.existTable(tableName)); String sql = "create table " + tableName + " (deptname text, score int4)"; sql += " PARTITION BY HASH (deptname)"; sql += " (PARTITION sub_part1, PARTITION sub_part2, PARTITION sub_part3)"; client.updateQuery(sql); assertTrue(client.existTable(tableName)); Path tablePath = client.getTableDesc(tableName).getPath(); FileSystem hdfs = tablePath.getFileSystem(conf); assertTrue(hdfs.exists(tablePath)); client.updateQuery("drop table " + tableName); assertFalse(client.existTable(tableName)); assertTrue(hdfs.exists(tablePath)); }
@Test public final void testGetTableList() throws IOException, ServiceException { String tableName1 = "GetTableList1".toLowerCase(); String tableName2 = "GetTableList2".toLowerCase(); assertFalse(client.existTable(tableName1)); assertFalse(client.existTable(tableName2)); client.updateQuery("create table GetTableList1 (age int, name text);"); client.updateQuery("create table GetTableList2 (age int, name text);"); assertTrue(client.existTable(tableName1)); assertTrue(client.existTable(tableName2)); Set<String> tables = Sets.newHashSet(client.getTableList()); assertTrue(tables.contains(tableName1)); assertTrue(tables.contains(tableName2)); }
@Test public final void testUpdateQuery() throws IOException, ServiceException { final String tableName = "testUpdateQuery"; Path tablePath = writeTmpTable(tableName); assertFalse(client.existTable(tableName)); String sql = "create external table " + tableName + " (deptname text, score integer) " + "using csv location '" + tablePath + "'"; client.updateQuery(sql); assertTrue(client.existTable(tableName)); client.dropTable(tableName); assertFalse(client.existTable(tableName)); }