HIVE-20112: Accumulo-Hive (managed) table creation fails with strict managed table checks: Table is marked as a managed table but is not transactional (Jesus Camacho Rodriguez, reviewed by Ashutosh Chauhan)
Project: http://git-wip-us.apache.org/repos/asf/hive/repo Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/c4c55d2a Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/c4c55d2a Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/c4c55d2a Branch: refs/heads/master-txnstats Commit: c4c55d2abf2f21d776a7f45559084a838bac42eb Parents: 1105ef3 Author: Jesus Camacho Rodriguez <jcama...@apache.org> Authored: Tue Jul 10 09:03:49 2018 -0700 Committer: Jesus Camacho Rodriguez <jcama...@apache.org> Committed: Tue Jul 10 09:03:49 2018 -0700 ---------------------------------------------------------------------- .../hive/accumulo/AccumuloStorageHandler.java | 19 ++------ .../accumulo/TestAccumuloStorageHandler.java | 44 +++++++++---------- .../test/queries/positive/accumulo_custom_key.q | 5 ++- .../queries/positive/accumulo_custom_key2.q | 5 ++- .../src/test/queries/positive/accumulo_index.q | 5 ++- .../src/test/queries/positive/accumulo_joins.q | 25 ++++++----- .../positive/accumulo_predicate_pushdown.q | 5 ++- .../test/queries/positive/accumulo_queries.q | 35 +++++++++------ .../accumulo_single_sourced_multi_insert.q | 5 ++- .../results/positive/accumulo_custom_key.q.out | 6 ++- .../results/positive/accumulo_custom_key2.q.out | 6 ++- .../test/results/positive/accumulo_index.q.out | 6 ++- .../test/results/positive/accumulo_joins.q.out | 30 ++++++++----- .../positive/accumulo_predicate_pushdown.q.out | 6 ++- .../results/positive/accumulo_queries.q.out | 46 +++++++++++++------- .../accumulo_single_sourced_multi_insert.q.out | 6 ++- 16 files changed, 147 insertions(+), 107 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hive/blob/c4c55d2a/accumulo-handler/src/java/org/apache/hadoop/hive/accumulo/AccumuloStorageHandler.java ---------------------------------------------------------------------- diff --git a/accumulo-handler/src/java/org/apache/hadoop/hive/accumulo/AccumuloStorageHandler.java b/accumulo-handler/src/java/org/apache/hadoop/hive/accumulo/AccumuloStorageHandler.java index 1a6e728..596eaa9 100644 --- a/accumulo-handler/src/java/org/apache/hadoop/hive/accumulo/AccumuloStorageHandler.java +++ b/accumulo-handler/src/java/org/apache/hadoop/hive/accumulo/AccumuloStorageHandler.java @@ -338,7 +338,6 @@ public class AccumuloStorageHandler extends DefaultStorageHandler implements Hiv @Override public void preCreateTable(Table table) throws MetaException { - boolean isExternal = isExternalTable(table); if (table.getSd().getLocation() != null) { throw new MetaException("Location can't be specified for Accumulo"); } @@ -357,17 +356,7 @@ public class AccumuloStorageHandler extends DefaultStorageHandler implements Hiv // Attempt to create the table, taking EXTERNAL into consideration if (!tableOpts.exists(tblName)) { - if (!isExternal) { - tableOpts.create(tblName); - } else { - throw new MetaException("Accumulo table " + tblName - + " doesn't exist even though declared external"); - } - } else { - if (!isExternal) { - throw new MetaException("Table " + tblName - + " already exists in Accumulo. Use CREATE EXTERNAL TABLE to register with Hive."); - } + tableOpts.create(tblName); } String idxTable = getIndexTableName(table); @@ -388,8 +377,8 @@ public class AccumuloStorageHandler extends DefaultStorageHandler implements Hiv } } - protected boolean isExternalTable(Table table) { - return MetaStoreUtils.isExternalTable(table); + protected boolean isPurge(Table table) { + return !MetaStoreUtils.isExternalTable(table) || MetaStoreUtils.isExternalTablePurge(table); } @Override @@ -406,7 +395,7 @@ public class AccumuloStorageHandler extends DefaultStorageHandler implements Hiv @Override public void commitDropTable(Table table, boolean deleteData) throws MetaException { String tblName = getTableName(table); - if (!isExternalTable(table)) { + if (isPurge(table)) { try { if (deleteData) { TableOperations tblOpts = connectionParams.getConnector().tableOperations(); http://git-wip-us.apache.org/repos/asf/hive/blob/c4c55d2a/accumulo-handler/src/test/org/apache/hadoop/hive/accumulo/TestAccumuloStorageHandler.java ---------------------------------------------------------------------- diff --git a/accumulo-handler/src/test/org/apache/hadoop/hive/accumulo/TestAccumuloStorageHandler.java b/accumulo-handler/src/test/org/apache/hadoop/hive/accumulo/TestAccumuloStorageHandler.java index 58bf4a6..7b12362 100644 --- a/accumulo-handler/src/test/org/apache/hadoop/hive/accumulo/TestAccumuloStorageHandler.java +++ b/accumulo-handler/src/test/org/apache/hadoop/hive/accumulo/TestAccumuloStorageHandler.java @@ -200,8 +200,8 @@ public class TestAccumuloStorageHandler { // Return our known table name Mockito.when(storageHandler.getTableName(table)).thenReturn(tableName); - // Not an EXTERNAL table - Mockito.when(storageHandler.isExternalTable(table)).thenReturn(false); + // Is marked for purge + Mockito.when(storageHandler.isPurge(table)).thenReturn(true); // Return the mocked StorageDescriptor Mockito.when(table.getSd()).thenReturn(sd); @@ -248,8 +248,8 @@ public class TestAccumuloStorageHandler { // Return our known table name Mockito.when(storageHandler.getTableName(table)).thenReturn(tableName); - // Not an EXTERNAL table - Mockito.when(storageHandler.isExternalTable(table)).thenReturn(false); + // Is marked for purge + Mockito.when(storageHandler.isPurge(table)).thenReturn(true); // Return the mocked StorageDescriptor Mockito.when(table.getSd()).thenReturn(sd); @@ -294,8 +294,8 @@ public class TestAccumuloStorageHandler { // Return our known table name Mockito.when(storageHandler.getTableName(table)).thenReturn(tableName); - // Not an EXTERNAL table - Mockito.when(storageHandler.isExternalTable(table)).thenReturn(false); + // Is marked for purge + Mockito.when(storageHandler.isPurge(table)).thenReturn(true); // Return the mocked StorageDescriptor Mockito.when(table.getSd()).thenReturn(sd); @@ -317,8 +317,8 @@ public class TestAccumuloStorageHandler { storageHandler.preCreateTable(table); } - @Test(expected = MetaException.class) - public void testExternalNonExistentTableFails() throws Exception { + @Test + public void testExternalNonExistentTable() throws Exception { MockInstance inst = new MockInstance(test.getMethodName()); Connector conn = inst.getConnector("root", new PasswordToken("")); String tableName = "table"; @@ -340,8 +340,8 @@ public class TestAccumuloStorageHandler { // Return our known table name Mockito.when(storageHandler.getTableName(table)).thenReturn(tableName); - // Is an EXTERNAL table - Mockito.when(storageHandler.isExternalTable(table)).thenReturn(true); + // Is not marked for purge + Mockito.when(storageHandler.isPurge(table)).thenReturn(false); // Return the mocked StorageDescriptor Mockito.when(table.getSd()).thenReturn(sd); @@ -363,8 +363,8 @@ public class TestAccumuloStorageHandler { storageHandler.preCreateTable(table); } - @Test(expected = MetaException.class) - public void testNonExternalExistentTable() throws Exception { + @Test + public void testExternalExistentTable() throws Exception { MockInstance inst = new MockInstance(test.getMethodName()); Connector conn = inst.getConnector("root", new PasswordToken("")); String tableName = "table"; @@ -389,8 +389,8 @@ public class TestAccumuloStorageHandler { // Return our known table name Mockito.when(storageHandler.getTableName(table)).thenReturn(tableName); - // Is not an EXTERNAL table - Mockito.when(storageHandler.isExternalTable(table)).thenReturn(false); + // Is marked for purge + Mockito.when(storageHandler.isPurge(table)).thenReturn(true); // Return the mocked StorageDescriptor Mockito.when(table.getSd()).thenReturn(sd); @@ -429,8 +429,8 @@ public class TestAccumuloStorageHandler { // Return our known table name Mockito.when(storageHandler.getTableName(table)).thenReturn(tableName); - // Is not an EXTERNAL table - Mockito.when(storageHandler.isExternalTable(table)).thenReturn(false); + // Is marked for purge + Mockito.when(storageHandler.isPurge(table)).thenReturn(true); // Return the MockInstance's Connector Mockito.when(connectionParams.getConnector()).thenReturn(conn); @@ -461,8 +461,8 @@ public class TestAccumuloStorageHandler { // Return our known table name Mockito.when(storageHandler.getTableName(table)).thenReturn(tableName); - // Is not an EXTERNAL table - Mockito.when(storageHandler.isExternalTable(table)).thenReturn(false); + // Is marked for purge + Mockito.when(storageHandler.isPurge(table)).thenReturn(true); // Return the MockInstance's Connector Mockito.when(connectionParams.getConnector()).thenReturn(conn); @@ -495,8 +495,8 @@ public class TestAccumuloStorageHandler { // Return our known table name Mockito.when(storageHandler.getTableName(table)).thenReturn(tableName); - // Is not an EXTERNAL table - Mockito.when(storageHandler.isExternalTable(table)).thenReturn(true); + // Is not marked for purge + Mockito.when(storageHandler.isPurge(table)).thenReturn(false); // Return the MockInstance's Connector Mockito.when(connectionParams.getConnector()).thenReturn(conn); @@ -528,8 +528,8 @@ public class TestAccumuloStorageHandler { // Return our known table name Mockito.when(storageHandler.getTableName(table)).thenReturn(tableName); - // Is not an EXTERNAL table - Mockito.when(storageHandler.isExternalTable(table)).thenReturn(false); + // Is marked for purge + Mockito.when(storageHandler.isPurge(table)).thenReturn(true); // Return the MockInstance's Connector Mockito.when(connectionParams.getConnector()).thenReturn(conn); http://git-wip-us.apache.org/repos/asf/hive/blob/c4c55d2a/accumulo-handler/src/test/queries/positive/accumulo_custom_key.q ---------------------------------------------------------------------- diff --git a/accumulo-handler/src/test/queries/positive/accumulo_custom_key.q b/accumulo-handler/src/test/queries/positive/accumulo_custom_key.q index ca7e6c7..d5e18d6 100644 --- a/accumulo-handler/src/test/queries/positive/accumulo_custom_key.q +++ b/accumulo-handler/src/test/queries/positive/accumulo_custom_key.q @@ -1,11 +1,12 @@ --! qt:dataset:src -CREATE TABLE accumulo_ck_1(key struct<col1:string,col2:string,col3:string>, value string) +CREATE EXTERNAL TABLE accumulo_ck_1(key struct<col1:string,col2:string,col3:string>, value string) STORED BY 'org.apache.hadoop.hive.accumulo.AccumuloStorageHandler' WITH SERDEPROPERTIES ( "accumulo.table.name" = "accumulo_custom", "accumulo.columns.mapping" = ":rowid,cf:string", "accumulo.composite.rowid.factory"="org.apache.hadoop.hive.accumulo.serde.DelimitedAccumuloRowIdFactory", - "accumulo.composite.delimiter" = "$"); + "accumulo.composite.delimiter" = "$") +TBLPROPERTIES ("external.table.purge" = "true"); CREATE EXTERNAL TABLE accumulo_ck_2(key string, value string) STORED BY 'org.apache.hadoop.hive.accumulo.AccumuloStorageHandler' http://git-wip-us.apache.org/repos/asf/hive/blob/c4c55d2a/accumulo-handler/src/test/queries/positive/accumulo_custom_key2.q ---------------------------------------------------------------------- diff --git a/accumulo-handler/src/test/queries/positive/accumulo_custom_key2.q b/accumulo-handler/src/test/queries/positive/accumulo_custom_key2.q index 615e5f8..104ca16 100644 --- a/accumulo-handler/src/test/queries/positive/accumulo_custom_key2.q +++ b/accumulo-handler/src/test/queries/positive/accumulo_custom_key2.q @@ -1,10 +1,11 @@ --! qt:dataset:src -CREATE TABLE accumulo_ck_3(key struct<col1:string,col2:string,col3:string>, value string) +CREATE EXTERNAL TABLE accumulo_ck_3(key struct<col1:string,col2:string,col3:string>, value string) STORED BY 'org.apache.hadoop.hive.accumulo.AccumuloStorageHandler' WITH SERDEPROPERTIES ( "accumulo.table.name" = "accumulo_custom2", "accumulo.columns.mapping" = ":rowid,cf:string", - "accumulo.composite.rowid"="org.apache.hadoop.hive.accumulo.serde.FirstCharAccumuloCompositeRowId"); + "accumulo.composite.rowid"="org.apache.hadoop.hive.accumulo.serde.FirstCharAccumuloCompositeRowId") +TBLPROPERTIES ("external.table.purge" = "true"); insert overwrite table accumulo_ck_3 select struct('abcd','mnop','wxyz'),'value' from src where key = 100; http://git-wip-us.apache.org/repos/asf/hive/blob/c4c55d2a/accumulo-handler/src/test/queries/positive/accumulo_index.q ---------------------------------------------------------------------- diff --git a/accumulo-handler/src/test/queries/positive/accumulo_index.q b/accumulo-handler/src/test/queries/positive/accumulo_index.q index 52a33af..445cc74 100644 --- a/accumulo-handler/src/test/queries/positive/accumulo_index.q +++ b/accumulo-handler/src/test/queries/positive/accumulo_index.q @@ -1,6 +1,6 @@ DROP TABLE accumulo_index_test; -CREATE TABLE accumulo_index_test ( +CREATE EXTERNAL TABLE accumulo_index_test ( rowid string, active boolean, num_offices tinyint, @@ -21,7 +21,8 @@ WITH SERDEPROPERTIES ( "accumulo.table.name"="accumulo_index_test", "accumulo.indexed.columns"="*", "accumulo.indextable.name"="accumulo_index_idx" - ); + ) +TBLPROPERTIES ("external.table.purge" = "true"); insert into accumulo_index_test values( "row1", true, 55, 107, 555555, 1223232332, http://git-wip-us.apache.org/repos/asf/hive/blob/c4c55d2a/accumulo-handler/src/test/queries/positive/accumulo_joins.q ---------------------------------------------------------------------- diff --git a/accumulo-handler/src/test/queries/positive/accumulo_joins.q b/accumulo-handler/src/test/queries/positive/accumulo_joins.q index a6b09ab..9d93029 100644 --- a/accumulo-handler/src/test/queries/positive/accumulo_joins.q +++ b/accumulo-handler/src/test/queries/positive/accumulo_joins.q @@ -6,23 +6,26 @@ DROP TABLE users_level; -- From HIVE-1257 -CREATE TABLE users(key string, state string, country string, country_id int) +CREATE EXTERNAL TABLE users(key string, state string, country string, country_id int) STORED BY 'org.apache.hadoop.hive.accumulo.AccumuloStorageHandler' WITH SERDEPROPERTIES ( "accumulo.columns.mapping" = ":rowID,info:state,info:country,info:country_id" -); +) +TBLPROPERTIES ("external.table.purge" = "true"); -CREATE TABLE states(key string, name string) +CREATE EXTERNAL TABLE states(key string, name string) STORED BY 'org.apache.hadoop.hive.accumulo.AccumuloStorageHandler' WITH SERDEPROPERTIES ( "accumulo.columns.mapping" = ":rowID,state:name" -); +) +TBLPROPERTIES ("external.table.purge" = "true"); -CREATE TABLE countries(key string, name string, country string, country_id int) +CREATE EXTERNAL TABLE countries(key string, name string, country string, country_id int) STORED BY 'org.apache.hadoop.hive.accumulo.AccumuloStorageHandler' WITH SERDEPROPERTIES ( "accumulo.columns.mapping" = ":rowID,info:name,info:country,info:country_id" -); +) +TBLPROPERTIES ("external.table.purge" = "true"); INSERT OVERWRITE TABLE users SELECT 'user1', 'IA', 'USA', 0 FROM src WHERE key=100; @@ -65,13 +68,15 @@ DROP TABLE users; DROP TABLE states; DROP TABLE countries; -CREATE TABLE users(key int, userid int, username string, created int) +CREATE EXTERNAL TABLE users(key int, userid int, username string, created int) STORED BY 'org.apache.hadoop.hive.accumulo.AccumuloStorageHandler' -WITH SERDEPROPERTIES ("accumulo.columns.mapping" = ":rowID,f:userid,f:nickname,f:created"); +WITH SERDEPROPERTIES ("accumulo.columns.mapping" = ":rowID,f:userid,f:nickname,f:created") +TBLPROPERTIES ("external.table.purge" = "true"); -CREATE TABLE users_level(key int, userid int, level int) +CREATE EXTERNAL TABLE users_level(key int, userid int, level int) STORED BY 'org.apache.hadoop.hive.accumulo.AccumuloStorageHandler' -WITH SERDEPROPERTIES ("accumulo.columns.mapping" = ":rowID,f:userid,f:level"); +WITH SERDEPROPERTIES ("accumulo.columns.mapping" = ":rowID,f:userid,f:level") +TBLPROPERTIES ("external.table.purge" = "true"); -- HIVE-1903: the problem fixed here showed up even without any data, -- so no need to load any to test it http://git-wip-us.apache.org/repos/asf/hive/blob/c4c55d2a/accumulo-handler/src/test/queries/positive/accumulo_predicate_pushdown.q ---------------------------------------------------------------------- diff --git a/accumulo-handler/src/test/queries/positive/accumulo_predicate_pushdown.q b/accumulo-handler/src/test/queries/positive/accumulo_predicate_pushdown.q index 4cb93b5..60a2869 100644 --- a/accumulo-handler/src/test/queries/positive/accumulo_predicate_pushdown.q +++ b/accumulo-handler/src/test/queries/positive/accumulo_predicate_pushdown.q @@ -1,8 +1,9 @@ --! qt:dataset:src --! qt:dataset:part -CREATE TABLE accumulo_pushdown(key string, value string) +CREATE EXTERNAL TABLE accumulo_pushdown(key string, value string) STORED BY 'org.apache.hadoop.hive.accumulo.AccumuloStorageHandler' -WITH SERDEPROPERTIES ("accumulo.columns.mapping" = ":rowid,cf:string"); +WITH SERDEPROPERTIES ("accumulo.columns.mapping" = ":rowid,cf:string") +TBLPROPERTIES ("external.table.purge" = "true"); INSERT OVERWRITE TABLE accumulo_pushdown SELECT cast(key as string), value http://git-wip-us.apache.org/repos/asf/hive/blob/c4c55d2a/accumulo-handler/src/test/queries/positive/accumulo_queries.q ---------------------------------------------------------------------- diff --git a/accumulo-handler/src/test/queries/positive/accumulo_queries.q b/accumulo-handler/src/test/queries/positive/accumulo_queries.q index bc93d8a..ed2fce3 100644 --- a/accumulo-handler/src/test/queries/positive/accumulo_queries.q +++ b/accumulo-handler/src/test/queries/positive/accumulo_queries.q @@ -6,10 +6,11 @@ set hive.optimize.ppd=false; DROP TABLE accumulo_table_1; -CREATE TABLE accumulo_table_1(key int, value string) +CREATE EXTERNAL TABLE accumulo_table_1(key int, value string) STORED BY 'org.apache.hadoop.hive.accumulo.AccumuloStorageHandler' WITH SERDEPROPERTIES ("accumulo.columns.mapping" = ":rowID,cf:string") -TBLPROPERTIES ("accumulo.table.name" = "accumulo_table_0"); +TBLPROPERTIES ("accumulo.table.name" = "accumulo_table_0", + "external.table.purge" = "true"); DESCRIBE EXTENDED accumulo_table_1; @@ -59,9 +60,10 @@ ON (x.key = Y.key) ORDER BY key,value; DROP TABLE empty_accumulo_table; -CREATE TABLE empty_accumulo_table(key int, value string) +CREATE EXTERNAL TABLE empty_accumulo_table(key int, value string) STORED BY 'org.apache.hadoop.hive.accumulo.AccumuloStorageHandler' -WITH SERDEPROPERTIES ("accumulo.columns.mapping" = ":rowID,cf:string"); +WITH SERDEPROPERTIES ("accumulo.columns.mapping" = ":rowID,cf:string") +TBLPROPERTIES ("external.table.purge" = "true"); DROP TABLE empty_normal_table; CREATE TABLE empty_normal_table(key int, value string); @@ -71,11 +73,12 @@ select * from (select count(1) c from empty_normal_table union all select count( select * from (select count(1) c from src union all select count(1) as c from empty_accumulo_table) x order by c; select * from (select count(1) c from src union all select count(1) as c from accumulo_table_1) x order by c; -CREATE TABLE accumulo_table_3(key int, value string, count int) +CREATE EXTERNAL TABLE accumulo_table_3(key int, value string, count int) STORED BY 'org.apache.hadoop.hive.accumulo.AccumuloStorageHandler' WITH SERDEPROPERTIES ( "accumulo.columns.mapping" = ":rowID,cf:val,cf2:count" -); +) +TBLPROPERTIES ("external.table.purge" = "true"); EXPLAIN INSERT OVERWRITE TABLE accumulo_table_3 @@ -99,11 +102,12 @@ select * from accumulo_table_3 order by key, value limit 5; select key, count from accumulo_table_3 order by key, count desc limit 5; DROP TABLE accumulo_table_4; -CREATE TABLE accumulo_table_4(key int, value1 string, value2 int, value3 int) +CREATE EXTERNAL TABLE accumulo_table_4(key int, value1 string, value2 int, value3 int) STORED BY 'org.apache.hadoop.hive.accumulo.AccumuloStorageHandler' WITH SERDEPROPERTIES ( "accumulo.columns.mapping" = ":rowID,a:b,a:c,d:e" -); +) +TBLPROPERTIES ("external.table.purge" = "true"); INSERT OVERWRITE TABLE accumulo_table_4 SELECT key, value, key+1, key+2 FROM src WHERE key=98 OR key=100; @@ -119,22 +123,24 @@ TBLPROPERTIES ("accumulo.table.name" = "accumulo_table_4"); SELECT * FROM accumulo_table_5 ORDER BY key; DROP TABLE accumulo_table_6; -CREATE TABLE accumulo_table_6(key int, value map<string,string>) +CREATE EXTERNAL TABLE accumulo_table_6(key int, value map<string,string>) STORED BY 'org.apache.hadoop.hive.accumulo.AccumuloStorageHandler' WITH SERDEPROPERTIES ( "accumulo.columns.mapping" = ":rowID,cf:*" -); +) +TBLPROPERTIES ("external.table.purge" = "true"); INSERT OVERWRITE TABLE accumulo_table_6 SELECT key, map(value, key) FROM src WHERE key=98 OR key=100; SELECT * FROM accumulo_table_6 ORDER BY key; DROP TABLE accumulo_table_7; -CREATE TABLE accumulo_table_7(value map<string,string>, key int) +CREATE EXTERNAL TABLE accumulo_table_7(value map<string,string>, key int) STORED BY 'org.apache.hadoop.hive.accumulo.AccumuloStorageHandler' WITH SERDEPROPERTIES ( "accumulo.columns.mapping" = "cf:*,:rowID" -); +) +TBLPROPERTIES ("external.table.purge" = "true"); INSERT OVERWRITE TABLE accumulo_table_7 SELECT map(value, key, upper(value), key+1), key FROM src WHERE key=98 OR key=100; @@ -142,11 +148,12 @@ WHERE key=98 OR key=100; SELECT * FROM accumulo_table_7 ORDER BY key; DROP TABLE accumulo_table_8; -CREATE TABLE accumulo_table_8(key int, value1 string, value2 int, value3 int) +CREATE EXTERNAL TABLE accumulo_table_8(key int, value1 string, value2 int, value3 int) STORED BY 'org.apache.hadoop.hive.accumulo.AccumuloStorageHandler' WITH SERDEPROPERTIES ( "accumulo.columns.mapping" = ":rowID,a:b,a:c,d:e" -); +) +TBLPROPERTIES ("external.table.purge" = "true"); INSERT OVERWRITE TABLE accumulo_table_8 SELECT key, value, key+1, key+2 FROM src WHERE key=98 OR key=100; http://git-wip-us.apache.org/repos/asf/hive/blob/c4c55d2a/accumulo-handler/src/test/queries/positive/accumulo_single_sourced_multi_insert.q ---------------------------------------------------------------------- diff --git a/accumulo-handler/src/test/queries/positive/accumulo_single_sourced_multi_insert.q b/accumulo-handler/src/test/queries/positive/accumulo_single_sourced_multi_insert.q index c12f962..56468a1 100644 --- a/accumulo-handler/src/test/queries/positive/accumulo_single_sourced_multi_insert.q +++ b/accumulo-handler/src/test/queries/positive/accumulo_single_sourced_multi_insert.q @@ -1,9 +1,10 @@ --! qt:dataset:src -- HIVE-4375 Single sourced multi insert consists of native and non-native table mixed throws NPE CREATE TABLE src_x1(key string, value string); -CREATE TABLE src_x2(key string, value string) +CREATE EXTERNAL TABLE src_x2(key string, value string) STORED BY 'org.apache.hadoop.hive.accumulo.AccumuloStorageHandler' -WITH SERDEPROPERTIES ("accumulo.columns.mapping" = ":rowid, cf:value"); +WITH SERDEPROPERTIES ("accumulo.columns.mapping" = ":rowid, cf:value") +TBLPROPERTIES ("external.table.purge" = "true"); explain from src a http://git-wip-us.apache.org/repos/asf/hive/blob/c4c55d2a/accumulo-handler/src/test/results/positive/accumulo_custom_key.q.out ---------------------------------------------------------------------- diff --git a/accumulo-handler/src/test/results/positive/accumulo_custom_key.q.out b/accumulo-handler/src/test/results/positive/accumulo_custom_key.q.out index ca5f37b..328ac7d 100644 --- a/accumulo-handler/src/test/results/positive/accumulo_custom_key.q.out +++ b/accumulo-handler/src/test/results/positive/accumulo_custom_key.q.out @@ -1,20 +1,22 @@ -PREHOOK: query: CREATE TABLE accumulo_ck_1(key struct<col1:string,col2:string,col3:string>, value string) +PREHOOK: query: CREATE EXTERNAL TABLE accumulo_ck_1(key struct<col1:string,col2:string,col3:string>, value string) STORED BY 'org.apache.hadoop.hive.accumulo.AccumuloStorageHandler' WITH SERDEPROPERTIES ( "accumulo.table.name" = "accumulo_custom", "accumulo.columns.mapping" = ":rowid,cf:string", "accumulo.composite.rowid.factory"="org.apache.hadoop.hive.accumulo.serde.DelimitedAccumuloRowIdFactory", "accumulo.composite.delimiter" = "$") +TBLPROPERTIES ("external.table.purge" = "true") PREHOOK: type: CREATETABLE PREHOOK: Output: database:default PREHOOK: Output: default@accumulo_ck_1 -POSTHOOK: query: CREATE TABLE accumulo_ck_1(key struct<col1:string,col2:string,col3:string>, value string) +POSTHOOK: query: CREATE EXTERNAL TABLE accumulo_ck_1(key struct<col1:string,col2:string,col3:string>, value string) STORED BY 'org.apache.hadoop.hive.accumulo.AccumuloStorageHandler' WITH SERDEPROPERTIES ( "accumulo.table.name" = "accumulo_custom", "accumulo.columns.mapping" = ":rowid,cf:string", "accumulo.composite.rowid.factory"="org.apache.hadoop.hive.accumulo.serde.DelimitedAccumuloRowIdFactory", "accumulo.composite.delimiter" = "$") +TBLPROPERTIES ("external.table.purge" = "true") POSTHOOK: type: CREATETABLE POSTHOOK: Output: database:default POSTHOOK: Output: default@accumulo_ck_1 http://git-wip-us.apache.org/repos/asf/hive/blob/c4c55d2a/accumulo-handler/src/test/results/positive/accumulo_custom_key2.q.out ---------------------------------------------------------------------- diff --git a/accumulo-handler/src/test/results/positive/accumulo_custom_key2.q.out b/accumulo-handler/src/test/results/positive/accumulo_custom_key2.q.out index b9e1009..29d89df 100644 --- a/accumulo-handler/src/test/results/positive/accumulo_custom_key2.q.out +++ b/accumulo-handler/src/test/results/positive/accumulo_custom_key2.q.out @@ -1,18 +1,20 @@ -PREHOOK: query: CREATE TABLE accumulo_ck_3(key struct<col1:string,col2:string,col3:string>, value string) +PREHOOK: query: CREATE EXTERNAL TABLE accumulo_ck_3(key struct<col1:string,col2:string,col3:string>, value string) STORED BY 'org.apache.hadoop.hive.accumulo.AccumuloStorageHandler' WITH SERDEPROPERTIES ( "accumulo.table.name" = "accumulo_custom2", "accumulo.columns.mapping" = ":rowid,cf:string", "accumulo.composite.rowid"="org.apache.hadoop.hive.accumulo.serde.FirstCharAccumuloCompositeRowId") +TBLPROPERTIES ("external.table.purge" = "true") PREHOOK: type: CREATETABLE PREHOOK: Output: database:default PREHOOK: Output: default@accumulo_ck_3 -POSTHOOK: query: CREATE TABLE accumulo_ck_3(key struct<col1:string,col2:string,col3:string>, value string) +POSTHOOK: query: CREATE EXTERNAL TABLE accumulo_ck_3(key struct<col1:string,col2:string,col3:string>, value string) STORED BY 'org.apache.hadoop.hive.accumulo.AccumuloStorageHandler' WITH SERDEPROPERTIES ( "accumulo.table.name" = "accumulo_custom2", "accumulo.columns.mapping" = ":rowid,cf:string", "accumulo.composite.rowid"="org.apache.hadoop.hive.accumulo.serde.FirstCharAccumuloCompositeRowId") +TBLPROPERTIES ("external.table.purge" = "true") POSTHOOK: type: CREATETABLE POSTHOOK: Output: database:default POSTHOOK: Output: default@accumulo_ck_3 http://git-wip-us.apache.org/repos/asf/hive/blob/c4c55d2a/accumulo-handler/src/test/results/positive/accumulo_index.q.out ---------------------------------------------------------------------- diff --git a/accumulo-handler/src/test/results/positive/accumulo_index.q.out b/accumulo-handler/src/test/results/positive/accumulo_index.q.out index a7c66a7..65328e2 100644 --- a/accumulo-handler/src/test/results/positive/accumulo_index.q.out +++ b/accumulo-handler/src/test/results/positive/accumulo_index.q.out @@ -2,7 +2,7 @@ PREHOOK: query: DROP TABLE accumulo_index_test PREHOOK: type: DROPTABLE POSTHOOK: query: DROP TABLE accumulo_index_test POSTHOOK: type: DROPTABLE -PREHOOK: query: CREATE TABLE accumulo_index_test ( +PREHOOK: query: CREATE EXTERNAL TABLE accumulo_index_test ( rowid string, active boolean, num_offices tinyint, @@ -24,10 +24,11 @@ WITH SERDEPROPERTIES ( "accumulo.indexed.columns"="*", "accumulo.indextable.name"="accumulo_index_idx" ) +TBLPROPERTIES ("external.table.purge" = "true") PREHOOK: type: CREATETABLE PREHOOK: Output: database:default PREHOOK: Output: default@accumulo_index_test -POSTHOOK: query: CREATE TABLE accumulo_index_test ( +POSTHOOK: query: CREATE EXTERNAL TABLE accumulo_index_test ( rowid string, active boolean, num_offices tinyint, @@ -49,6 +50,7 @@ WITH SERDEPROPERTIES ( "accumulo.indexed.columns"="*", "accumulo.indextable.name"="accumulo_index_idx" ) +TBLPROPERTIES ("external.table.purge" = "true") POSTHOOK: type: CREATETABLE POSTHOOK: Output: database:default POSTHOOK: Output: default@accumulo_index_test http://git-wip-us.apache.org/repos/asf/hive/blob/c4c55d2a/accumulo-handler/src/test/results/positive/accumulo_joins.q.out ---------------------------------------------------------------------- diff --git a/accumulo-handler/src/test/results/positive/accumulo_joins.q.out b/accumulo-handler/src/test/results/positive/accumulo_joins.q.out index 5f11f94..ed65e08 100644 --- a/accumulo-handler/src/test/results/positive/accumulo_joins.q.out +++ b/accumulo-handler/src/test/results/positive/accumulo_joins.q.out @@ -14,51 +14,57 @@ PREHOOK: query: DROP TABLE users_level PREHOOK: type: DROPTABLE POSTHOOK: query: DROP TABLE users_level POSTHOOK: type: DROPTABLE -PREHOOK: query: CREATE TABLE users(key string, state string, country string, country_id int) +PREHOOK: query: CREATE EXTERNAL TABLE users(key string, state string, country string, country_id int) STORED BY 'org.apache.hadoop.hive.accumulo.AccumuloStorageHandler' WITH SERDEPROPERTIES ( "accumulo.columns.mapping" = ":rowID,info:state,info:country,info:country_id" ) +TBLPROPERTIES ("external.table.purge" = "true") PREHOOK: type: CREATETABLE PREHOOK: Output: database:default PREHOOK: Output: default@users -POSTHOOK: query: CREATE TABLE users(key string, state string, country string, country_id int) +POSTHOOK: query: CREATE EXTERNAL TABLE users(key string, state string, country string, country_id int) STORED BY 'org.apache.hadoop.hive.accumulo.AccumuloStorageHandler' WITH SERDEPROPERTIES ( "accumulo.columns.mapping" = ":rowID,info:state,info:country,info:country_id" ) +TBLPROPERTIES ("external.table.purge" = "true") POSTHOOK: type: CREATETABLE POSTHOOK: Output: database:default POSTHOOK: Output: default@users -PREHOOK: query: CREATE TABLE states(key string, name string) +PREHOOK: query: CREATE EXTERNAL TABLE states(key string, name string) STORED BY 'org.apache.hadoop.hive.accumulo.AccumuloStorageHandler' WITH SERDEPROPERTIES ( "accumulo.columns.mapping" = ":rowID,state:name" ) +TBLPROPERTIES ("external.table.purge" = "true") PREHOOK: type: CREATETABLE PREHOOK: Output: database:default PREHOOK: Output: default@states -POSTHOOK: query: CREATE TABLE states(key string, name string) +POSTHOOK: query: CREATE EXTERNAL TABLE states(key string, name string) STORED BY 'org.apache.hadoop.hive.accumulo.AccumuloStorageHandler' WITH SERDEPROPERTIES ( "accumulo.columns.mapping" = ":rowID,state:name" ) +TBLPROPERTIES ("external.table.purge" = "true") POSTHOOK: type: CREATETABLE POSTHOOK: Output: database:default POSTHOOK: Output: default@states -PREHOOK: query: CREATE TABLE countries(key string, name string, country string, country_id int) +PREHOOK: query: CREATE EXTERNAL TABLE countries(key string, name string, country string, country_id int) STORED BY 'org.apache.hadoop.hive.accumulo.AccumuloStorageHandler' WITH SERDEPROPERTIES ( "accumulo.columns.mapping" = ":rowID,info:name,info:country,info:country_id" ) +TBLPROPERTIES ("external.table.purge" = "true") PREHOOK: type: CREATETABLE PREHOOK: Output: database:default PREHOOK: Output: default@countries -POSTHOOK: query: CREATE TABLE countries(key string, name string, country string, country_id int) +POSTHOOK: query: CREATE EXTERNAL TABLE countries(key string, name string, country string, country_id int) STORED BY 'org.apache.hadoop.hive.accumulo.AccumuloStorageHandler' WITH SERDEPROPERTIES ( "accumulo.columns.mapping" = ":rowID,info:name,info:country,info:country_id" ) +TBLPROPERTIES ("external.table.purge" = "true") POSTHOOK: type: CREATETABLE POSTHOOK: Output: database:default POSTHOOK: Output: default@countries @@ -218,27 +224,31 @@ POSTHOOK: query: DROP TABLE countries POSTHOOK: type: DROPTABLE POSTHOOK: Input: default@countries POSTHOOK: Output: default@countries -PREHOOK: query: CREATE TABLE users(key int, userid int, username string, created int) +PREHOOK: query: CREATE EXTERNAL TABLE users(key int, userid int, username string, created int) STORED BY 'org.apache.hadoop.hive.accumulo.AccumuloStorageHandler' WITH SERDEPROPERTIES ("accumulo.columns.mapping" = ":rowID,f:userid,f:nickname,f:created") +TBLPROPERTIES ("external.table.purge" = "true") PREHOOK: type: CREATETABLE PREHOOK: Output: database:default PREHOOK: Output: default@users -POSTHOOK: query: CREATE TABLE users(key int, userid int, username string, created int) +POSTHOOK: query: CREATE EXTERNAL TABLE users(key int, userid int, username string, created int) STORED BY 'org.apache.hadoop.hive.accumulo.AccumuloStorageHandler' WITH SERDEPROPERTIES ("accumulo.columns.mapping" = ":rowID,f:userid,f:nickname,f:created") +TBLPROPERTIES ("external.table.purge" = "true") POSTHOOK: type: CREATETABLE POSTHOOK: Output: database:default POSTHOOK: Output: default@users -PREHOOK: query: CREATE TABLE users_level(key int, userid int, level int) +PREHOOK: query: CREATE EXTERNAL TABLE users_level(key int, userid int, level int) STORED BY 'org.apache.hadoop.hive.accumulo.AccumuloStorageHandler' WITH SERDEPROPERTIES ("accumulo.columns.mapping" = ":rowID,f:userid,f:level") +TBLPROPERTIES ("external.table.purge" = "true") PREHOOK: type: CREATETABLE PREHOOK: Output: database:default PREHOOK: Output: default@users_level -POSTHOOK: query: CREATE TABLE users_level(key int, userid int, level int) +POSTHOOK: query: CREATE EXTERNAL TABLE users_level(key int, userid int, level int) STORED BY 'org.apache.hadoop.hive.accumulo.AccumuloStorageHandler' WITH SERDEPROPERTIES ("accumulo.columns.mapping" = ":rowID,f:userid,f:level") +TBLPROPERTIES ("external.table.purge" = "true") POSTHOOK: type: CREATETABLE POSTHOOK: Output: database:default POSTHOOK: Output: default@users_level http://git-wip-us.apache.org/repos/asf/hive/blob/c4c55d2a/accumulo-handler/src/test/results/positive/accumulo_predicate_pushdown.q.out ---------------------------------------------------------------------- diff --git a/accumulo-handler/src/test/results/positive/accumulo_predicate_pushdown.q.out b/accumulo-handler/src/test/results/positive/accumulo_predicate_pushdown.q.out index 6db7f5a..0389362 100644 --- a/accumulo-handler/src/test/results/positive/accumulo_predicate_pushdown.q.out +++ b/accumulo-handler/src/test/results/positive/accumulo_predicate_pushdown.q.out @@ -1,12 +1,14 @@ -PREHOOK: query: CREATE TABLE accumulo_pushdown(key string, value string) +PREHOOK: query: CREATE EXTERNAL TABLE accumulo_pushdown(key string, value string) STORED BY 'org.apache.hadoop.hive.accumulo.AccumuloStorageHandler' WITH SERDEPROPERTIES ("accumulo.columns.mapping" = ":rowid,cf:string") +TBLPROPERTIES ("external.table.purge" = "true") PREHOOK: type: CREATETABLE PREHOOK: Output: database:default PREHOOK: Output: default@accumulo_pushdown -POSTHOOK: query: CREATE TABLE accumulo_pushdown(key string, value string) +POSTHOOK: query: CREATE EXTERNAL TABLE accumulo_pushdown(key string, value string) STORED BY 'org.apache.hadoop.hive.accumulo.AccumuloStorageHandler' WITH SERDEPROPERTIES ("accumulo.columns.mapping" = ":rowid,cf:string") +TBLPROPERTIES ("external.table.purge" = "true") POSTHOOK: type: CREATETABLE POSTHOOK: Output: database:default POSTHOOK: Output: default@accumulo_pushdown http://git-wip-us.apache.org/repos/asf/hive/blob/c4c55d2a/accumulo-handler/src/test/results/positive/accumulo_queries.q.out ---------------------------------------------------------------------- diff --git a/accumulo-handler/src/test/results/positive/accumulo_queries.q.out b/accumulo-handler/src/test/results/positive/accumulo_queries.q.out index f7e7699..d0fdae4 100644 --- a/accumulo-handler/src/test/results/positive/accumulo_queries.q.out +++ b/accumulo-handler/src/test/results/positive/accumulo_queries.q.out @@ -2,17 +2,19 @@ PREHOOK: query: DROP TABLE accumulo_table_1 PREHOOK: type: DROPTABLE POSTHOOK: query: DROP TABLE accumulo_table_1 POSTHOOK: type: DROPTABLE -PREHOOK: query: CREATE TABLE accumulo_table_1(key int, value string) +PREHOOK: query: CREATE EXTERNAL TABLE accumulo_table_1(key int, value string) STORED BY 'org.apache.hadoop.hive.accumulo.AccumuloStorageHandler' WITH SERDEPROPERTIES ("accumulo.columns.mapping" = ":rowID,cf:string") -TBLPROPERTIES ("accumulo.table.name" = "accumulo_table_0") +TBLPROPERTIES ("accumulo.table.name" = "accumulo_table_0", + "external.table.purge" = "true") PREHOOK: type: CREATETABLE PREHOOK: Output: database:default PREHOOK: Output: default@accumulo_table_1 -POSTHOOK: query: CREATE TABLE accumulo_table_1(key int, value string) +POSTHOOK: query: CREATE EXTERNAL TABLE accumulo_table_1(key int, value string) STORED BY 'org.apache.hadoop.hive.accumulo.AccumuloStorageHandler' WITH SERDEPROPERTIES ("accumulo.columns.mapping" = ":rowID,cf:string") -TBLPROPERTIES ("accumulo.table.name" = "accumulo_table_0") +TBLPROPERTIES ("accumulo.table.name" = "accumulo_table_0", + "external.table.purge" = "true") POSTHOOK: type: CREATETABLE POSTHOOK: Output: database:default POSTHOOK: Output: default@accumulo_table_1 @@ -393,15 +395,17 @@ PREHOOK: query: DROP TABLE empty_accumulo_table PREHOOK: type: DROPTABLE POSTHOOK: query: DROP TABLE empty_accumulo_table POSTHOOK: type: DROPTABLE -PREHOOK: query: CREATE TABLE empty_accumulo_table(key int, value string) +PREHOOK: query: CREATE EXTERNAL TABLE empty_accumulo_table(key int, value string) STORED BY 'org.apache.hadoop.hive.accumulo.AccumuloStorageHandler' WITH SERDEPROPERTIES ("accumulo.columns.mapping" = ":rowID,cf:string") +TBLPROPERTIES ("external.table.purge" = "true") PREHOOK: type: CREATETABLE PREHOOK: Output: database:default PREHOOK: Output: default@empty_accumulo_table -POSTHOOK: query: CREATE TABLE empty_accumulo_table(key int, value string) +POSTHOOK: query: CREATE EXTERNAL TABLE empty_accumulo_table(key int, value string) STORED BY 'org.apache.hadoop.hive.accumulo.AccumuloStorageHandler' WITH SERDEPROPERTIES ("accumulo.columns.mapping" = ":rowID,cf:string") +TBLPROPERTIES ("external.table.purge" = "true") POSTHOOK: type: CREATETABLE POSTHOOK: Output: database:default POSTHOOK: Output: default@empty_accumulo_table @@ -465,19 +469,21 @@ POSTHOOK: Input: default@src #### A masked pattern was here #### 155 500 -PREHOOK: query: CREATE TABLE accumulo_table_3(key int, value string, count int) +PREHOOK: query: CREATE EXTERNAL TABLE accumulo_table_3(key int, value string, count int) STORED BY 'org.apache.hadoop.hive.accumulo.AccumuloStorageHandler' WITH SERDEPROPERTIES ( "accumulo.columns.mapping" = ":rowID,cf:val,cf2:count" ) +TBLPROPERTIES ("external.table.purge" = "true") PREHOOK: type: CREATETABLE PREHOOK: Output: database:default PREHOOK: Output: default@accumulo_table_3 -POSTHOOK: query: CREATE TABLE accumulo_table_3(key int, value string, count int) +POSTHOOK: query: CREATE EXTERNAL TABLE accumulo_table_3(key int, value string, count int) STORED BY 'org.apache.hadoop.hive.accumulo.AccumuloStorageHandler' WITH SERDEPROPERTIES ( "accumulo.columns.mapping" = ":rowID,cf:val,cf2:count" ) +TBLPROPERTIES ("external.table.purge" = "true") POSTHOOK: type: CREATETABLE POSTHOOK: Output: database:default POSTHOOK: Output: default@accumulo_table_3 @@ -663,19 +669,21 @@ PREHOOK: query: DROP TABLE accumulo_table_4 PREHOOK: type: DROPTABLE POSTHOOK: query: DROP TABLE accumulo_table_4 POSTHOOK: type: DROPTABLE -PREHOOK: query: CREATE TABLE accumulo_table_4(key int, value1 string, value2 int, value3 int) +PREHOOK: query: CREATE EXTERNAL TABLE accumulo_table_4(key int, value1 string, value2 int, value3 int) STORED BY 'org.apache.hadoop.hive.accumulo.AccumuloStorageHandler' WITH SERDEPROPERTIES ( "accumulo.columns.mapping" = ":rowID,a:b,a:c,d:e" ) +TBLPROPERTIES ("external.table.purge" = "true") PREHOOK: type: CREATETABLE PREHOOK: Output: database:default PREHOOK: Output: default@accumulo_table_4 -POSTHOOK: query: CREATE TABLE accumulo_table_4(key int, value1 string, value2 int, value3 int) +POSTHOOK: query: CREATE EXTERNAL TABLE accumulo_table_4(key int, value1 string, value2 int, value3 int) STORED BY 'org.apache.hadoop.hive.accumulo.AccumuloStorageHandler' WITH SERDEPROPERTIES ( "accumulo.columns.mapping" = ":rowID,a:b,a:c,d:e" ) +TBLPROPERTIES ("external.table.purge" = "true") POSTHOOK: type: CREATETABLE POSTHOOK: Output: database:default POSTHOOK: Output: default@accumulo_table_4 @@ -731,19 +739,21 @@ PREHOOK: query: DROP TABLE accumulo_table_6 PREHOOK: type: DROPTABLE POSTHOOK: query: DROP TABLE accumulo_table_6 POSTHOOK: type: DROPTABLE -PREHOOK: query: CREATE TABLE accumulo_table_6(key int, value map<string,string>) +PREHOOK: query: CREATE EXTERNAL TABLE accumulo_table_6(key int, value map<string,string>) STORED BY 'org.apache.hadoop.hive.accumulo.AccumuloStorageHandler' WITH SERDEPROPERTIES ( "accumulo.columns.mapping" = ":rowID,cf:*" ) +TBLPROPERTIES ("external.table.purge" = "true") PREHOOK: type: CREATETABLE PREHOOK: Output: database:default PREHOOK: Output: default@accumulo_table_6 -POSTHOOK: query: CREATE TABLE accumulo_table_6(key int, value map<string,string>) +POSTHOOK: query: CREATE EXTERNAL TABLE accumulo_table_6(key int, value map<string,string>) STORED BY 'org.apache.hadoop.hive.accumulo.AccumuloStorageHandler' WITH SERDEPROPERTIES ( "accumulo.columns.mapping" = ":rowID,cf:*" ) +TBLPROPERTIES ("external.table.purge" = "true") POSTHOOK: type: CREATETABLE POSTHOOK: Output: database:default POSTHOOK: Output: default@accumulo_table_6 @@ -771,19 +781,21 @@ PREHOOK: query: DROP TABLE accumulo_table_7 PREHOOK: type: DROPTABLE POSTHOOK: query: DROP TABLE accumulo_table_7 POSTHOOK: type: DROPTABLE -PREHOOK: query: CREATE TABLE accumulo_table_7(value map<string,string>, key int) +PREHOOK: query: CREATE EXTERNAL TABLE accumulo_table_7(value map<string,string>, key int) STORED BY 'org.apache.hadoop.hive.accumulo.AccumuloStorageHandler' WITH SERDEPROPERTIES ( "accumulo.columns.mapping" = "cf:*,:rowID" ) +TBLPROPERTIES ("external.table.purge" = "true") PREHOOK: type: CREATETABLE PREHOOK: Output: database:default PREHOOK: Output: default@accumulo_table_7 -POSTHOOK: query: CREATE TABLE accumulo_table_7(value map<string,string>, key int) +POSTHOOK: query: CREATE EXTERNAL TABLE accumulo_table_7(value map<string,string>, key int) STORED BY 'org.apache.hadoop.hive.accumulo.AccumuloStorageHandler' WITH SERDEPROPERTIES ( "accumulo.columns.mapping" = "cf:*,:rowID" ) +TBLPROPERTIES ("external.table.purge" = "true") POSTHOOK: type: CREATETABLE POSTHOOK: Output: database:default POSTHOOK: Output: default@accumulo_table_7 @@ -813,19 +825,21 @@ PREHOOK: query: DROP TABLE accumulo_table_8 PREHOOK: type: DROPTABLE POSTHOOK: query: DROP TABLE accumulo_table_8 POSTHOOK: type: DROPTABLE -PREHOOK: query: CREATE TABLE accumulo_table_8(key int, value1 string, value2 int, value3 int) +PREHOOK: query: CREATE EXTERNAL TABLE accumulo_table_8(key int, value1 string, value2 int, value3 int) STORED BY 'org.apache.hadoop.hive.accumulo.AccumuloStorageHandler' WITH SERDEPROPERTIES ( "accumulo.columns.mapping" = ":rowID,a:b,a:c,d:e" ) +TBLPROPERTIES ("external.table.purge" = "true") PREHOOK: type: CREATETABLE PREHOOK: Output: database:default PREHOOK: Output: default@accumulo_table_8 -POSTHOOK: query: CREATE TABLE accumulo_table_8(key int, value1 string, value2 int, value3 int) +POSTHOOK: query: CREATE EXTERNAL TABLE accumulo_table_8(key int, value1 string, value2 int, value3 int) STORED BY 'org.apache.hadoop.hive.accumulo.AccumuloStorageHandler' WITH SERDEPROPERTIES ( "accumulo.columns.mapping" = ":rowID,a:b,a:c,d:e" ) +TBLPROPERTIES ("external.table.purge" = "true") POSTHOOK: type: CREATETABLE POSTHOOK: Output: database:default POSTHOOK: Output: default@accumulo_table_8 http://git-wip-us.apache.org/repos/asf/hive/blob/c4c55d2a/accumulo-handler/src/test/results/positive/accumulo_single_sourced_multi_insert.q.out ---------------------------------------------------------------------- diff --git a/accumulo-handler/src/test/results/positive/accumulo_single_sourced_multi_insert.q.out b/accumulo-handler/src/test/results/positive/accumulo_single_sourced_multi_insert.q.out index 5905ecd..7e36206 100644 --- a/accumulo-handler/src/test/results/positive/accumulo_single_sourced_multi_insert.q.out +++ b/accumulo-handler/src/test/results/positive/accumulo_single_sourced_multi_insert.q.out @@ -6,15 +6,17 @@ POSTHOOK: query: CREATE TABLE src_x1(key string, value string) POSTHOOK: type: CREATETABLE POSTHOOK: Output: database:default POSTHOOK: Output: default@src_x1 -PREHOOK: query: CREATE TABLE src_x2(key string, value string) +PREHOOK: query: CREATE EXTERNAL TABLE src_x2(key string, value string) STORED BY 'org.apache.hadoop.hive.accumulo.AccumuloStorageHandler' WITH SERDEPROPERTIES ("accumulo.columns.mapping" = ":rowid, cf:value") +TBLPROPERTIES ("external.table.purge" = "true") PREHOOK: type: CREATETABLE PREHOOK: Output: database:default PREHOOK: Output: default@src_x2 -POSTHOOK: query: CREATE TABLE src_x2(key string, value string) +POSTHOOK: query: CREATE EXTERNAL TABLE src_x2(key string, value string) STORED BY 'org.apache.hadoop.hive.accumulo.AccumuloStorageHandler' WITH SERDEPROPERTIES ("accumulo.columns.mapping" = ":rowid, cf:value") +TBLPROPERTIES ("external.table.purge" = "true") POSTHOOK: type: CREATETABLE POSTHOOK: Output: database:default POSTHOOK: Output: default@src_x2