hive-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Chaoyu Tang (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HIVE-14909) Preserve the location of table created with the location clause in table rename
Date Thu, 27 Oct 2016 13:49:58 GMT

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

Chaoyu Tang updated HIVE-14909:
-------------------------------
    Description: 
Alter Table operation for db_enc.rename_test failed to move data due to: '/hdfs/encrypted_path/db_enc/rename_test
can't be moved from an encryption zone.'

When Hive renames a managed table, it always creates the new renamed table directory under
its database directory in order to keep a db/table hierarchy. In this case, the renamed table
directory is created under "default db" directory "hive/warehouse/". When Hive renames a managed
table, it always creates the new renamed table directory under its database directory in order
to keep a db/table hierarchy. In this case, the renamed table directory is created under "default'
db directory typically set as /hive/warehouse/ . 

This error doesn't appear if first create a database which points to a directory outside /hive/warehouse/,
say '/hdfs/encrypted_path', you won't have this problem. For example, 

create database db_enc location '/hdfs/encrypted_path/db_enc; 
use db_enc; 
create table rename_test (...) location '/hdfs/encrypted_path/db_enc/rename_test'; 
alter table rename_test rename to test_rename; 

The renamed test_rename directory is created under /hdfs/encrypted_path/db_enc. 

Considering that the encryption of a filesystem is part of the evolution hardening of a system
(where the system and the data contained can already exists) and a db can be already created
without location set (because it is not strictly required)and the default db is outside the
same encryption zone (or in a no-encryption zone) the alter table rename operation will fail.

Improvement:
Preserve the "parent location" of the table when an "alter table <table> rename to <newname>"
is submitted (the case when the db location is not specified and the Hive defult db is outside
the same encrypted zone).

  was:

Alter Table operation for db_enc.rename_test failed to move data due to: '/hdfs/encrypted_path/db_enc/rename_test
can't be moved from an encryption zone.'

When Hive renames a managed table, it always creates the new renamed table directory under
its database directory in order to keep a db/table hierarchy. In this case, the renamed table
directory is created under "default db" directory "hive/warehouse/". When Hive renames a managed
table, it always creates the new renamed table directory under its database directory in order
to keep a db/table hierarchy. In this case, the renamed table directory is created under "default'
db directory typically set as /hive/warehouse/ . 

This error doesn't appear if first create a database which points to a directory outside /hive/warehouse/,
say '/hdfs/encrypted_path', you won't have this problem. For example, 

create database db_enc location '/hdfs/encrypted_path/db_enc; 
use db_enc; 
create table rename_test (...) location '/hdfs/encrypted_path/db_enc/rename_test'; 
alter table rename_test rename to test_rename; 

The renamed test_rename directory is created under /hdfs/encrypted_path/db_enc. 

Considering that the encryption of a filesystem is part of the evolution hardening of a system
(where the system and the data contained can already exists) and a db can be already created
without location set (because it is not strictly required)and the default db is outside the
same encryption zone (or in a no-encryption zone) the alter table rename operation will fail.

Improvement:
Preserve the "parent location" of the table when an "alter table <table> rename to <newname>"
is submitted (the case when the db location is not specified and the Hive defult db is outside
the same encrypted zone).

        Summary: Preserve the location of table created with the location clause in table
rename  (was: Preserve the "parent location" of the table when an "alter table <table>
rename to <newname>" is submitted (the case when the db location is not specified and
the Hive defult db is outside the same encrypted zone).)

change the JIRA summary

> Preserve the location of table created with the location clause in table rename
> -------------------------------------------------------------------------------
>
>                 Key: HIVE-14909
>                 URL: https://issues.apache.org/jira/browse/HIVE-14909
>             Project: Hive
>          Issue Type: Improvement
>          Components: Hive
>    Affects Versions: 1.1.0
>            Reporter: Adriano
>            Assignee: Chaoyu Tang
>         Attachments: HIVE-14909.1.patch, HIVE-14909.1.patch, HIVE-14909.2.patch, HIVE-14909.3.patch,
HIVE-14909.patch, HIVE-14909.patch
>
>
> Alter Table operation for db_enc.rename_test failed to move data due to: '/hdfs/encrypted_path/db_enc/rename_test
can't be moved from an encryption zone.'
> When Hive renames a managed table, it always creates the new renamed table directory
under its database directory in order to keep a db/table hierarchy. In this case, the renamed
table directory is created under "default db" directory "hive/warehouse/". When Hive renames
a managed table, it always creates the new renamed table directory under its database directory
in order to keep a db/table hierarchy. In this case, the renamed table directory is created
under "default' db directory typically set as /hive/warehouse/ . 
> This error doesn't appear if first create a database which points to a directory outside
/hive/warehouse/, say '/hdfs/encrypted_path', you won't have this problem. For example, 
> create database db_enc location '/hdfs/encrypted_path/db_enc; 
> use db_enc; 
> create table rename_test (...) location '/hdfs/encrypted_path/db_enc/rename_test'; 
> alter table rename_test rename to test_rename; 
> The renamed test_rename directory is created under /hdfs/encrypted_path/db_enc. 
> Considering that the encryption of a filesystem is part of the evolution hardening of
a system (where the system and the data contained can already exists) and a db can be already
created without location set (because it is not strictly required)and the default db is outside
the same encryption zone (or in a no-encryption zone) the alter table rename operation will
fail.
> Improvement:
> Preserve the "parent location" of the table when an "alter table <table> rename
to <newname>" is submitted (the case when the db location is not specified and the Hive
defult db is outside the same encrypted zone).



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message