You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by ga...@apache.org on 2018/07/10 17:31:49 UTC

hive git commit: Revert "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)"

Repository: hive
Updated Branches:
  refs/heads/branch-3 c8ff16010 -> 086266963


Revert "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)"

This reverts commit c8ff16010055b3d4a0699afa8321c236c7be1ad7.


Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/08626696
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/08626696
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/08626696

Branch: refs/heads/branch-3
Commit: 08626696366ef7235516d32f836bfb85801c24af
Parents: c8ff160
Author: Alan Gates <ga...@hortonworks.com>
Authored: Tue Jul 10 10:23:30 2018 -0700
Committer: Alan Gates <ga...@hortonworks.com>
Committed: Tue Jul 10 10:23:30 2018 -0700

----------------------------------------------------------------------
 .../hive/accumulo/AccumuloStorageHandler.java   | 19 ++++++--
 .../accumulo/TestAccumuloStorageHandler.java    | 44 +++++++++----------
 .../test/queries/positive/accumulo_custom_key.q |  6 +--
 .../queries/positive/accumulo_custom_key2.q     |  6 +--
 .../src/test/queries/positive/accumulo_index.q  |  5 +--
 .../src/test/queries/positive/accumulo_joins.q  | 25 +++++------
 .../positive/accumulo_predicate_pushdown.q      |  7 +--
 .../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, 107 insertions(+), 151 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hive/blob/08626696/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 596eaa9..1a6e728 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,6 +338,7 @@ 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");
     }
@@ -356,7 +357,17 @@ public class AccumuloStorageHandler extends DefaultStorageHandler implements Hiv
 
       // Attempt to create the table, taking EXTERNAL into consideration
       if (!tableOpts.exists(tblName)) {
-        tableOpts.create(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.");
+        }
       }
 
       String idxTable = getIndexTableName(table);
@@ -377,8 +388,8 @@ public class AccumuloStorageHandler extends DefaultStorageHandler implements Hiv
     }
   }
 
-  protected boolean isPurge(Table table) {
-    return !MetaStoreUtils.isExternalTable(table) || MetaStoreUtils.isExternalTablePurge(table);
+  protected boolean isExternalTable(Table table) {
+    return MetaStoreUtils.isExternalTable(table);
   }
 
   @Override
@@ -395,7 +406,7 @@ public class AccumuloStorageHandler extends DefaultStorageHandler implements Hiv
   @Override
   public void commitDropTable(Table table, boolean deleteData) throws MetaException {
     String tblName = getTableName(table);
-    if (isPurge(table)) {
+    if (!isExternalTable(table)) {
       try {
         if (deleteData) {
           TableOperations tblOpts = connectionParams.getConnector().tableOperations();

http://git-wip-us.apache.org/repos/asf/hive/blob/08626696/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 7b12362..58bf4a6 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);
 
-    // Is marked for purge
-    Mockito.when(storageHandler.isPurge(table)).thenReturn(true);
+    // Not an EXTERNAL table
+    Mockito.when(storageHandler.isExternalTable(table)).thenReturn(false);
 
     // 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);
 
-    // Is marked for purge
-    Mockito.when(storageHandler.isPurge(table)).thenReturn(true);
+    // Not an EXTERNAL table
+    Mockito.when(storageHandler.isExternalTable(table)).thenReturn(false);
 
     // 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);
 
-    // Is marked for purge
-    Mockito.when(storageHandler.isPurge(table)).thenReturn(true);
+    // Not an EXTERNAL table
+    Mockito.when(storageHandler.isExternalTable(table)).thenReturn(false);
 
     // Return the mocked StorageDescriptor
     Mockito.when(table.getSd()).thenReturn(sd);
@@ -317,8 +317,8 @@ public class TestAccumuloStorageHandler {
     storageHandler.preCreateTable(table);
   }
 
-  @Test
-  public void testExternalNonExistentTable() throws Exception {
+  @Test(expected = MetaException.class)
+  public void testExternalNonExistentTableFails() 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 not marked for purge
-    Mockito.when(storageHandler.isPurge(table)).thenReturn(false);
+    // Is an EXTERNAL table
+    Mockito.when(storageHandler.isExternalTable(table)).thenReturn(true);
 
     // Return the mocked StorageDescriptor
     Mockito.when(table.getSd()).thenReturn(sd);
@@ -363,8 +363,8 @@ public class TestAccumuloStorageHandler {
     storageHandler.preCreateTable(table);
   }
 
-  @Test
-  public void testExternalExistentTable() throws Exception {
+  @Test(expected = MetaException.class)
+  public void testNonExternalExistentTable() 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 marked for purge
-    Mockito.when(storageHandler.isPurge(table)).thenReturn(true);
+    // Is not an EXTERNAL table
+    Mockito.when(storageHandler.isExternalTable(table)).thenReturn(false);
 
     // 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 marked for purge
-    Mockito.when(storageHandler.isPurge(table)).thenReturn(true);
+    // Is not an EXTERNAL table
+    Mockito.when(storageHandler.isExternalTable(table)).thenReturn(false);
 
     // 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 marked for purge
-    Mockito.when(storageHandler.isPurge(table)).thenReturn(true);
+    // Is not an EXTERNAL table
+    Mockito.when(storageHandler.isExternalTable(table)).thenReturn(false);
 
     // 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 marked for purge
-    Mockito.when(storageHandler.isPurge(table)).thenReturn(false);
+    // Is not an EXTERNAL table
+    Mockito.when(storageHandler.isExternalTable(table)).thenReturn(true);
 
     // 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 marked for purge
-    Mockito.when(storageHandler.isPurge(table)).thenReturn(true);
+    // Is not an EXTERNAL table
+    Mockito.when(storageHandler.isExternalTable(table)).thenReturn(false);
 
     // Return the MockInstance's Connector
     Mockito.when(connectionParams.getConnector()).thenReturn(conn);

http://git-wip-us.apache.org/repos/asf/hive/blob/08626696/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 d5e18d6..6684fd3 100644
--- a/accumulo-handler/src/test/queries/positive/accumulo_custom_key.q
+++ b/accumulo-handler/src/test/queries/positive/accumulo_custom_key.q
@@ -1,12 +1,10 @@
---! qt:dataset:src
-CREATE EXTERNAL TABLE accumulo_ck_1(key struct<col1:string,col2:string,col3:string>, value string)
+CREATE 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");
+    "accumulo.composite.delimiter" = "$");
 
 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/08626696/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 104ca16..038633f 100644
--- a/accumulo-handler/src/test/queries/positive/accumulo_custom_key2.q
+++ b/accumulo-handler/src/test/queries/positive/accumulo_custom_key2.q
@@ -1,11 +1,9 @@
---! qt:dataset:src
-CREATE EXTERNAL TABLE accumulo_ck_3(key struct<col1:string,col2:string,col3:string>, value string)
+CREATE 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");
+    "accumulo.composite.rowid"="org.apache.hadoop.hive.accumulo.serde.FirstCharAccumuloCompositeRowId");
 
 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/08626696/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 445cc74..52a33af 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 EXTERNAL TABLE accumulo_index_test (
+CREATE TABLE accumulo_index_test (
    rowid string,
    active boolean,
    num_offices tinyint,
@@ -21,8 +21,7 @@ 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/08626696/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 a9e0cc8..b72ec6b 100644
--- a/accumulo-handler/src/test/queries/positive/accumulo_joins.q
+++ b/accumulo-handler/src/test/queries/positive/accumulo_joins.q
@@ -5,26 +5,23 @@ DROP TABLE users_level;
 
 -- From HIVE-1257
 
-CREATE EXTERNAL TABLE users(key string, state string, country string, country_id int)
+CREATE 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 EXTERNAL TABLE states(key string, name string)
+CREATE 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 EXTERNAL TABLE countries(key string, name string, country string, country_id int)
+CREATE 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;
@@ -67,15 +64,13 @@ DROP TABLE users;
 DROP TABLE states;
 DROP TABLE countries;
 
-CREATE EXTERNAL TABLE users(key int, userid int, username string, created int) 
+CREATE 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");
+WITH SERDEPROPERTIES ("accumulo.columns.mapping" = ":rowID,f:userid,f:nickname,f:created");
 
-CREATE EXTERNAL TABLE users_level(key int, userid int, level int)
+CREATE 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");
+WITH SERDEPROPERTIES ("accumulo.columns.mapping" = ":rowID,f:userid,f:level");
 
 -- 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/08626696/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 60a2869..0f064af 100644
--- a/accumulo-handler/src/test/queries/positive/accumulo_predicate_pushdown.q
+++ b/accumulo-handler/src/test/queries/positive/accumulo_predicate_pushdown.q
@@ -1,9 +1,6 @@
---! qt:dataset:src
---! qt:dataset:part
-CREATE EXTERNAL TABLE accumulo_pushdown(key string, value string) 
+CREATE 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");
+WITH SERDEPROPERTIES ("accumulo.columns.mapping" = ":rowid,cf:string");
 
 INSERT OVERWRITE TABLE accumulo_pushdown 
 SELECT cast(key as string), value

http://git-wip-us.apache.org/repos/asf/hive/blob/08626696/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 136ff02..0aceaa0 100644
--- a/accumulo-handler/src/test/queries/positive/accumulo_queries.q
+++ b/accumulo-handler/src/test/queries/positive/accumulo_queries.q
@@ -5,11 +5,10 @@ set hive.optimize.ppd=false;
 
 
 DROP TABLE accumulo_table_1;
-CREATE EXTERNAL TABLE accumulo_table_1(key int, value string) 
+CREATE 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",
-               "external.table.purge" = "true");
+TBLPROPERTIES ("accumulo.table.name" = "accumulo_table_0");
 
 DESCRIBE EXTENDED accumulo_table_1;
 
@@ -59,10 +58,9 @@ ON (x.key = Y.key)
 ORDER BY key,value;
 
 DROP TABLE empty_accumulo_table;
-CREATE EXTERNAL TABLE empty_accumulo_table(key int, value string) 
+CREATE 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");
+WITH SERDEPROPERTIES ("accumulo.columns.mapping" = ":rowID,cf:string");
 
 DROP TABLE empty_normal_table;
 CREATE TABLE empty_normal_table(key int, value string);
@@ -72,12 +70,11 @@ 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 EXTERNAL TABLE accumulo_table_3(key int, value string, count int) 
+CREATE 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
@@ -101,12 +98,11 @@ 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 EXTERNAL TABLE accumulo_table_4(key int, value1 string, value2 int, value3 int) 
+CREATE 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;
@@ -122,24 +118,22 @@ TBLPROPERTIES ("accumulo.table.name" = "accumulo_table_4");
 SELECT * FROM accumulo_table_5 ORDER BY key;
 
 DROP TABLE accumulo_table_6;
-CREATE EXTERNAL TABLE accumulo_table_6(key int, value map<string,string>) 
+CREATE 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 EXTERNAL TABLE accumulo_table_7(value map<string,string>, key int) 
+CREATE 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;
@@ -147,12 +141,11 @@ WHERE key=98 OR key=100;
 SELECT * FROM accumulo_table_7 ORDER BY key;
 
 DROP TABLE accumulo_table_8;
-CREATE EXTERNAL TABLE accumulo_table_8(key int, value1 string, value2 int, value3 int) 
+CREATE 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/08626696/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 0abb589..f904d3f 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,8 @@
 -- 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 EXTERNAL TABLE src_x2(key string, value string)
+CREATE 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");
+WITH SERDEPROPERTIES ("accumulo.columns.mapping" = ":rowid, cf:value");
 
 explain
 from src a

http://git-wip-us.apache.org/repos/asf/hive/blob/08626696/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 328ac7d..ca5f37b 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,22 +1,20 @@
-PREHOOK: query: CREATE EXTERNAL TABLE accumulo_ck_1(key struct<col1:string,col2:string,col3:string>, value string)
+PREHOOK: query: CREATE 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 EXTERNAL TABLE accumulo_ck_1(key struct<col1:string,col2:string,col3:string>, value string)
+POSTHOOK: query: CREATE 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/08626696/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 29d89df..b9e1009 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,20 +1,18 @@
-PREHOOK: query: CREATE EXTERNAL TABLE accumulo_ck_3(key struct<col1:string,col2:string,col3:string>, value string)
+PREHOOK: query: CREATE 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 EXTERNAL TABLE accumulo_ck_3(key struct<col1:string,col2:string,col3:string>, value string)
+POSTHOOK: query: CREATE 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/08626696/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 65328e2..a7c66a7 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 EXTERNAL TABLE accumulo_index_test (
+PREHOOK: query: CREATE TABLE accumulo_index_test (
    rowid string,
    active boolean,
    num_offices tinyint,
@@ -24,11 +24,10 @@ 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 EXTERNAL TABLE accumulo_index_test (
+POSTHOOK: query: CREATE TABLE accumulo_index_test (
    rowid string,
    active boolean,
    num_offices tinyint,
@@ -50,7 +49,6 @@ 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/08626696/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 ed65e08..5f11f94 100644
--- a/accumulo-handler/src/test/results/positive/accumulo_joins.q.out
+++ b/accumulo-handler/src/test/results/positive/accumulo_joins.q.out
@@ -14,57 +14,51 @@ PREHOOK: query: DROP TABLE users_level
 PREHOOK: type: DROPTABLE
 POSTHOOK: query: DROP TABLE users_level
 POSTHOOK: type: DROPTABLE
-PREHOOK: query: CREATE EXTERNAL TABLE users(key string, state string, country string, country_id int)
+PREHOOK: query: CREATE 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 EXTERNAL TABLE users(key string, state string, country string, country_id int)
+POSTHOOK: query: CREATE 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 EXTERNAL TABLE states(key string, name string)
+PREHOOK: query: CREATE 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 EXTERNAL TABLE states(key string, name string)
+POSTHOOK: query: CREATE 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 EXTERNAL TABLE countries(key string, name string, country string, country_id int)
+PREHOOK: query: CREATE 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 EXTERNAL TABLE countries(key string, name string, country string, country_id int)
+POSTHOOK: query: CREATE 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
@@ -224,31 +218,27 @@ POSTHOOK: query: DROP TABLE countries
 POSTHOOK: type: DROPTABLE
 POSTHOOK: Input: default@countries
 POSTHOOK: Output: default@countries
-PREHOOK: query: CREATE EXTERNAL TABLE users(key int, userid int, username string, created int) 
+PREHOOK: query: CREATE 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 EXTERNAL TABLE users(key int, userid int, username string, created int) 
+POSTHOOK: query: CREATE 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 EXTERNAL TABLE users_level(key int, userid int, level int)
+PREHOOK: query: CREATE 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 EXTERNAL TABLE users_level(key int, userid int, level int)
+POSTHOOK: query: CREATE 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/08626696/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 e70507f..4a46786 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,14 +1,12 @@
-PREHOOK: query: CREATE EXTERNAL TABLE accumulo_pushdown(key string, value string) 
+PREHOOK: query: CREATE 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 EXTERNAL TABLE accumulo_pushdown(key string, value string) 
+POSTHOOK: query: CREATE 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/08626696/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 d0fdae4..f7e7699 100644
--- a/accumulo-handler/src/test/results/positive/accumulo_queries.q.out
+++ b/accumulo-handler/src/test/results/positive/accumulo_queries.q.out
@@ -2,19 +2,17 @@ PREHOOK: query: DROP TABLE accumulo_table_1
 PREHOOK: type: DROPTABLE
 POSTHOOK: query: DROP TABLE accumulo_table_1
 POSTHOOK: type: DROPTABLE
-PREHOOK: query: CREATE EXTERNAL TABLE accumulo_table_1(key int, value string) 
+PREHOOK: query: CREATE 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",
-               "external.table.purge" = "true")
+TBLPROPERTIES ("accumulo.table.name" = "accumulo_table_0")
 PREHOOK: type: CREATETABLE
 PREHOOK: Output: database:default
 PREHOOK: Output: default@accumulo_table_1
-POSTHOOK: query: CREATE EXTERNAL TABLE accumulo_table_1(key int, value string) 
+POSTHOOK: query: CREATE 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",
-               "external.table.purge" = "true")
+TBLPROPERTIES ("accumulo.table.name" = "accumulo_table_0")
 POSTHOOK: type: CREATETABLE
 POSTHOOK: Output: database:default
 POSTHOOK: Output: default@accumulo_table_1
@@ -395,17 +393,15 @@ PREHOOK: query: DROP TABLE empty_accumulo_table
 PREHOOK: type: DROPTABLE
 POSTHOOK: query: DROP TABLE empty_accumulo_table
 POSTHOOK: type: DROPTABLE
-PREHOOK: query: CREATE EXTERNAL TABLE empty_accumulo_table(key int, value string) 
+PREHOOK: query: CREATE 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 EXTERNAL TABLE empty_accumulo_table(key int, value string) 
+POSTHOOK: query: CREATE 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
@@ -469,21 +465,19 @@ POSTHOOK: Input: default@src
 #### A masked pattern was here ####
 155
 500
-PREHOOK: query: CREATE EXTERNAL TABLE accumulo_table_3(key int, value string, count int) 
+PREHOOK: query: CREATE 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 EXTERNAL TABLE accumulo_table_3(key int, value string, count int) 
+POSTHOOK: query: CREATE 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
@@ -669,21 +663,19 @@ PREHOOK: query: DROP TABLE accumulo_table_4
 PREHOOK: type: DROPTABLE
 POSTHOOK: query: DROP TABLE accumulo_table_4
 POSTHOOK: type: DROPTABLE
-PREHOOK: query: CREATE EXTERNAL TABLE accumulo_table_4(key int, value1 string, value2 int, value3 int) 
+PREHOOK: query: CREATE 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 EXTERNAL TABLE accumulo_table_4(key int, value1 string, value2 int, value3 int) 
+POSTHOOK: query: CREATE 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
@@ -739,21 +731,19 @@ PREHOOK: query: DROP TABLE accumulo_table_6
 PREHOOK: type: DROPTABLE
 POSTHOOK: query: DROP TABLE accumulo_table_6
 POSTHOOK: type: DROPTABLE
-PREHOOK: query: CREATE EXTERNAL TABLE accumulo_table_6(key int, value map<string,string>) 
+PREHOOK: query: CREATE 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 EXTERNAL TABLE accumulo_table_6(key int, value map<string,string>) 
+POSTHOOK: query: CREATE 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
@@ -781,21 +771,19 @@ PREHOOK: query: DROP TABLE accumulo_table_7
 PREHOOK: type: DROPTABLE
 POSTHOOK: query: DROP TABLE accumulo_table_7
 POSTHOOK: type: DROPTABLE
-PREHOOK: query: CREATE EXTERNAL TABLE accumulo_table_7(value map<string,string>, key int) 
+PREHOOK: query: CREATE 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 EXTERNAL TABLE accumulo_table_7(value map<string,string>, key int) 
+POSTHOOK: query: CREATE 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
@@ -825,21 +813,19 @@ PREHOOK: query: DROP TABLE accumulo_table_8
 PREHOOK: type: DROPTABLE
 POSTHOOK: query: DROP TABLE accumulo_table_8
 POSTHOOK: type: DROPTABLE
-PREHOOK: query: CREATE EXTERNAL TABLE accumulo_table_8(key int, value1 string, value2 int, value3 int) 
+PREHOOK: query: CREATE 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 EXTERNAL TABLE accumulo_table_8(key int, value1 string, value2 int, value3 int) 
+POSTHOOK: query: CREATE 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/08626696/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 7e36206..5905ecd 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,17 +6,15 @@ 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 EXTERNAL TABLE src_x2(key string, value string)
+PREHOOK: query: CREATE 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 EXTERNAL TABLE src_x2(key string, value string)
+POSTHOOK: query: CREATE 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