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

Sushanth Sowmyan updated HIVE-10228:
------------------------------------
    Description: 
We need to update a couple of hive commands to support replication semantics. 
To wit, we need the following:

EXPORT ... [FOR [METADATA] REPLICATION(“comment”)]

Export will now support an extra optional clause to tell it that this export is 
being prepared for the purpose of replication. There is also an additional 
optional clause here, that allows for the export to be a metadata-only export, 
to handle cases of capturing the diff for alter statements, for example.

Also, if done for replication, the non-presence of a table, or a table being a 
view/offline table/non-native table is not considered an error, and instead, 
will result in a successful no-op.

IMPORT ... (as normal) – but handles new semantics 

No syntax changes for import, but import will have to change to be able to 
handle all the permutations of export dumps possible. Also, import will have to 
ensure that it should update the object only if the update being imported is 
not older than the state of the object.

DROP TABLE ... FOR REPLICATION('eventid')

Drop Table now has an additional clause, to specify that this drop table is 
being done for replication purposes, and that the dop should not actually drop 
the table if the table is newer than that event id specified.

ALTER TABLE ... DROP PARTITION (...) FOR REPLICATION('eventid')

Similarly, Drop Partition also has an equivalent change to Drop Table.

=

In addition, we introduce a new property "repl.last.id", which when tagged on 
to table properties or partition properties on a replication-destination, holds 
the effective "state identifier" of the object.

> Changes to Hive Export/Import/DropTable/DropPartition to support replication 
> semantics
> --------------------------------------------------------------------------------------
>
>                 Key: HIVE-10228
>                 URL: https://issues.apache.org/jira/browse/HIVE-10228
>             Project: Hive
>          Issue Type: Sub-task
>          Components: Import/Export
>    Affects Versions: 1.2.0
>            Reporter: Sushanth Sowmyan
>            Assignee: Sushanth Sowmyan
>         Attachments: HIVE-10228.patch
>
>
> We need to update a couple of hive commands to support replication semantics. 
> To wit, we need the following:
> EXPORT ... [FOR [METADATA] REPLICATION(“comment”)]
> Export will now support an extra optional clause to tell it that this export 
> is being prepared for the purpose of replication. There is also an additional 
> optional clause here, that allows for the export to be a metadata-only 
> export, to handle cases of capturing the diff for alter statements, for 
> example.
> Also, if done for replication, the non-presence of a table, or a table being 
> a view/offline table/non-native table is not considered an error, and 
> instead, will result in a successful no-op.
> IMPORT ... (as normal) – but handles new semantics 
> No syntax changes for import, but import will have to change to be able to 
> handle all the permutations of export dumps possible. Also, import will have 
> to ensure that it should update the object only if the update being imported 
> is not older than the state of the object.
> DROP TABLE ... FOR REPLICATION('eventid')
> Drop Table now has an additional clause, to specify that this drop table is 
> being done for replication purposes, and that the dop should not actually 
> drop the table if the table is newer than that event id specified.
> ALTER TABLE ... DROP PARTITION (...) FOR REPLICATION('eventid')
> Similarly, Drop Partition also has an equivalent change to Drop Table.
> =
> In addition, we introduce a new property "repl.last.id", which when tagged on 
> to table properties or partition properties on a replication-destination, 
> holds the effective "state identifier" of the object.



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

Reply via email to