[
https://issues.apache.org/jira/browse/HIVE-25398?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17444633#comment-17444633
]
Zoltan Haindrich commented on HIVE-25398:
-----------------------------------------
I think if the user is already "aware" that the translator is there and adds
'external.table.purge'='false' by himself ;
he will be also aware that the resulting table is an external table... so he
could be more explicit regarding that as well.
in other word: I'm wondering what part of the translator would the user benefit
from by not writing EXTERNAL explicitly?
> Converted external tables should be able to configure purge behaviour
> ---------------------------------------------------------------------
>
> Key: HIVE-25398
> URL: https://issues.apache.org/jira/browse/HIVE-25398
> Project: Hive
> Issue Type: Bug
> Components: Standalone Metastore
> Reporter: Panagiotis Garefalakis
> Assignee: Panagiotis Garefalakis
> Priority: Major
> Labels: pull-request-available
> Time Spent: 10m
> Remaining Estimate: 0h
>
> Creating non-ACID MANAGED tables is not allowed on Hive, which is instead
> converting these tables to External:
> https://issues.apache.org/jira/browse/HIVE-22158
> During table translation both TRANSLATED_TO_EXTERNAL and
> 'external.table.purge' are set to True. However, there could be the case that
> the second parameter is already set in the table properties by the User. This
> is ticket is adding an extra check to maintain that property if set.
> PS: A cleaner solution would be to create these Tables as External directly
> but there could be the case the User is taking advantage of the translation
> and is expecting the data NOT to be purged!
> Example:
> {code:java}
> -- Non-ACID table will be translated to EXTERNAL
> create table c(c int) LOCATION 'etp_1'
> TBLPROPERTIES('transactional'='false','external.table.purge'='false');
> insert into c values(1);
> -- Maintain the purge=false property set above
> desc formatted c;
> select count(*) from c;
> drop table c;
> -- Create table in same location, data should still be there
> create table c(c int) LOCATION 'etp_1'
> TBLPROPERTIES('transactional'='false','external.table.purge'='false');
> desc formatted c;
> select count(*) from c;
> {code}
--
This message was sent by Atlassian Jira
(v8.20.1#820001)