The EXCHANGE PARTITION command will move a partition from a source table to target table and alter each table's metadata. The Exchange Partition feature is implemented as part of HIVE-4095. Exchanging multiple partitions is supported in Hive versions 1.2.2, 1.3.0, and 2.0.0+ as part of HIVE-11745.
When the command is executed, the source table's partition folder in HDFS will be renamed to move it to the destination table's partition folder. The Hive metastore will be updated to change the metadata of the source and destination tables accordingly.
The partition specification can be fully or partially specified.
See Language Manual DDL for additional information on the Exchange Partition feature.
Constraints
- The
...
- destination table cannot contain the partition to be exchanged.
The operation fails in the presence of an index.
This command requires both the source and destination table names to have the same table schema.
If the schemas are different, the following exception is thrown:The
tables
have
different
schemas.
Their
partitions
cannot
be
exchanged
Syntax
Code Block | ||
---|---|---|
| ||
ALTER TABLE <source_table> EXCHANGE PARTITION (<[partial] partition spec>) WITH TABLE <dest_table> |
...