在Hive上启用酸支持之后。我可以从配置单元表(orc基于文件的表)中插入/更新/删除行,我想知道是否可以执行upsert?因为当用户提供数据时,他们不会指定数据的插入或更新,如果我们需要在插入之前删除每一行以模拟向上插入,可能会非常慢,但还不能确定性能,我们的更新/插入率很低,不到5%。对我们来说,延迟并不重要,但吞吐量当然很重要。如果Hive目前不支持upsert,有什么计划来支持它吗?谢谢
avwztpqn1#
工作正在进行中:https://issues.apache.org/jira/browse/hive-10924 在acid模式下,吞吐量可能会受到限制。目前,您可以使用完全连接模拟非acid模式下的upsert,并执行完全分区/表重写。延迟相当大,吞吐量几乎是无限的。请看这里:https://stackoverflow.com/a/37744071/2700344
zd287kbt2#
一种方法是使用配置单元jdbc连接在配置单元表中执行delete-insert或merge。然后在hive orc表上执行完全压缩。压缩完成后,数据通过spark获得。
2条答案
按热度按时间avwztpqn1#
工作正在进行中:https://issues.apache.org/jira/browse/hive-10924 在acid模式下,吞吐量可能会受到限制。
目前,您可以使用完全连接模拟非acid模式下的upsert,并执行完全分区/表重写。延迟相当大,吞吐量几乎是无限的。请看这里:https://stackoverflow.com/a/37744071/2700344
zd287kbt2#
一种方法是使用配置单元jdbc连接在配置单元表中执行delete-insert或merge。然后在hive orc表上执行完全压缩。压缩完成后,数据通过spark获得。