caofangkun created HIVE-4367:
--------------------------------

             Summary: enhance  TRUNCATE syntex  to drop data of external table
                 Key: HIVE-4367
                 URL: https://issues.apache.org/jira/browse/HIVE-4367
             Project: Hive
          Issue Type: Improvement
          Components: Query Processor
    Affects Versions: 0.11.0
            Reporter: caofangkun
            Priority: Minor


In my use case ,
sometimes I have to remove data of external tables to free up storage space of 
the cluster .
So it's necessary for to enhance the syntax like 
"TRUNCATE TABLE srcpart_truncate PARTITION (dt='201130412') FORCE;"
to remove data from EXTERNAL table.

And I add a configuration property to enable remove data to Trash 
<property>
  <name>hive.truncate.skiptrash</name>
  <value>false</value>
  <description>
     if true will remove data to trash, else false drop data immediately
  </description>
</property>

For example :
hive (default)> TRUNCATE TABLE external1 partition (ds='11'); 
FAILED: Error in semantic analysis: Cannot truncate non-managed table external1
hive (default)> TRUNCATE TABLE external1 partition (ds='11') FORCE;
[2013-04-16 17:15:52]: Compile Start 
[2013-04-16 17:15:52]: Compile End
[2013-04-16 17:15:52]: OK
[2013-04-16 17:15:52]: Time taken: 0.413 seconds

hive (default)> set hive.truncate.skiptrash;
hive.truncate.skiptrash=false

hive (default)> set hive.truncate.skiptrash=true; 
hive (default)> TRUNCATE TABLE external1 partition (ds='12') FORCE;
[2013-04-16 17:16:21]: Compile Start 
[2013-04-16 17:16:21]: Compile End
[2013-04-16 17:16:21]: OK
[2013-04-16 17:16:21]: Time taken: 0.143 seconds

hive (default)> dfs -ls /user/test/.Trash/Current/; 
Found 1 items
drwxr-xr-x - kun.cao supergroup 0 2013-04-16 17:06 
/user/test/.Trash/Current/ds=11

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to