[
https://issues.apache.org/jira/browse/HIVE-19526?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
David Malinge updated HIVE-19526:
---------------------------------
Description:
Data is not copied when exchanging partition between two tables in different
buckets. Only the metadata is copied over.
Assuming we have a partitioned table "table1" in s3://myBucket/table1 (I don't
think schemas matter in that case so I will just omit them), my code looks like
this:
{code:java}
create table table2 like table1 location 's3://anotherBucket/table2';
alter table table2 exchange partition (mypartition='partition1') with table
table1;{code}
The behavior is the following:
* no error e.g. "No rows affected (1.194 seconds)"
* old partition metadata with provided key removed from table1
* new partition metadata with the provided key created properly in the table2
* data still in s3://myBucket/table1/mypartition=partition1
It works as expected when using the exact same code but with table2 located in
the same bucket as table1.
I have not found any documentation regarding cross-bucket not being supported
so I guess this is unwanted behavior. This should probably throw an error if
not supported.
was:
Data is not copied when exchanging partition between two tables in different
buckets. Only the metadata is copied over.
Assuming we have a partitioned table "table1" in s3://myBucket/table1 (I don't
think schemas matter in that case so I will just omit them), my code looks like
this:
{code:java}
create table table2 like table1 location 's3://anotherBucket/table2';
alter table table2 exchange partition (mypartition='partition1') with table
table1;{code}
The behavior is the following:
* no error e.g. "No rows affected (1.194 seconds)"
* old partition metadata with provided key removed from table1
* new partition metadata with the provided key created properly in the table2
* data still in s3://myBucket/table1/mypartition=partition1
It works as expected when using the exact same code but with table2 located in
the same bucket as table1.
I have not found any documentation regarding cross-bucket not being supported
so I guess this is unwanted behavior. This should probably throw an error if
not supported.
> Exchange partition not copying data across S3 buckets
> -----------------------------------------------------
>
> Key: HIVE-19526
> URL: https://issues.apache.org/jira/browse/HIVE-19526
> Project: Hive
> Issue Type: Bug
> Affects Versions: 2.3.0
> Reporter: David Malinge
> Priority: Minor
>
> Data is not copied when exchanging partition between two tables in different
> buckets. Only the metadata is copied over.
> Assuming we have a partitioned table "table1" in s3://myBucket/table1 (I
> don't think schemas matter in that case so I will just omit them), my code
> looks like this:
> {code:java}
> create table table2 like table1 location 's3://anotherBucket/table2';
> alter table table2 exchange partition (mypartition='partition1') with table
> table1;{code}
> The behavior is the following:
> * no error e.g. "No rows affected (1.194 seconds)"
> * old partition metadata with provided key removed from table1
> * new partition metadata with the provided key created properly in the table2
> * data still in s3://myBucket/table1/mypartition=partition1
> It works as expected when using the exact same code but with table2 located
> in the same bucket as table1.
> I have not found any documentation regarding cross-bucket not being supported
> so I guess this is unwanted behavior. This should probably throw an error if
> not supported.
>
>
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)