我有一个映射在Hive(EMR-5.11.0上的v2.3.2)的外部表,我需要每周更新一次新数据.合并包含条件upsert语句.
表的位置在s3中,数据始终存在(创建一次,我们只需要用新数据更新它).
我已经阅读了这篇博客,关于在事务表(https://dzone.com/articles/update-hive-tables-the-easy-way-part-2-hortonworks)上使用ACID功能在Hive中合并数据,但是我可以看到,唯一的解决方案是将我的外部表复制到临时Hive内部表,即集群和事务,然后只在该表上我可以进行合并并使用新的合并后覆盖我的原始数据.
这个表非常大(大约10GB的数据),所以我想避免在每次合并操作之前复制它.
有没有办法创建内部表并将其映射到现有数据?还是有另一种方法,除了合并语句,在Hive外部表上执行upsert?
非常感谢提前!