You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hive.apache.org by "Zoltan Haindrich (Jira)" <ji...@apache.org> on 2021/11/16 16:11:00 UTC

[jira] [Commented] (HIVE-25398) Converted external tables should be able to configure purge behaviour

    [ 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)