You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by "Panagiotis Garefalakis (Jira)" <ji...@apache.org> on 2021/07/28 10:33:00 UTC
[jira] [Created] (HIVE-25398) Converted external tables should be
able to configure purge behaviour
Panagiotis Garefalakis created HIVE-25398:
---------------------------------------------
Summary: 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
Reporter: Panagiotis Garefalakis
Assignee: Panagiotis Garefalakis
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.3.4#803005)