[
https://issues.apache.org/jira/browse/HIVE-8371?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14163012#comment-14163012
]
Sushanth Sowmyan commented on HIVE-8371:
----------------------------------------
It is going to flip the hive behaviour in that it will disallow insert-into if
there is already data - that was intentional, to be consistent between hive and
hcatalog. The question is - do we want to allow appends to data? If so, hive
and hcatalog should both allow it. If not, hive and hcatalog should both deny
it.
I do understand the concern that HCatStorer behaviour has changed after being
out for a long time, but from that same perspective, this new behaviour of
HCatStorer has also been out for a while now, for publicly released hive.
This could still be preserved with yet another warehouse-level parameter for
legacy behaviour that makes HCatStorer default to immutable, and hive default
to mutable, but honestly, I think that's ugly and will cause more problems
going forward for maintainability.
> HCatStorer should fail by default when publishing to an existing partition
> --------------------------------------------------------------------------
>
> Key: HIVE-8371
> URL: https://issues.apache.org/jira/browse/HIVE-8371
> Project: Hive
> Issue Type: Bug
> Components: HCatalog
> Affects Versions: 0.13.0, 0.14.0, 0.13.1
> Reporter: Thiruvel Thirumoolan
> Assignee: Thiruvel Thirumoolan
> Labels: hcatalog, partition
>
> In Hive-12 and before (on in previous HCatalog releases) HCatStorer would
> fail if the partition already exists (whether before launching the job or
> during commit depending on the partitioning). HIVE-6406 changed that behavior
> and by default does an append. This causes data quality issues since an rerun
> (or duplicate run) won't fail (when it used to) and will just append to the
> partition.
> A preferable approach would be to leave HCatStorer behavior as is (fail
> during a duplicate publish) and support append through an option. Overwrite
> also can be implemented in a similar fashion. Eg:
> store A into 'db.table' using
> org.apache.hive.hcatalog.pig.HCatStorer('partspec', '', ' -append');
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)