[ 
https://issues.apache.org/jira/browse/HIVE-4367?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

caofangkun updated HIVE-4367:
-----------------------------

    Description: 
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 -test supergroup 0 2013-04-16 17:06 /user/test/.Trash/Current/ds=11

  was:
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

    
> 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 -test 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