因此,在mysql中,在执行insert时可以使用insert-ignore语法,而不是在插入重复行时抛出错误,而只是忽略该行如果可能的话,我想在一个Hive数据库上实现同样的效果?我知道hive不是真正的关系数据库,因为presto上insert语句的文档非常基本我只想知道是否有一个简单的解决办法,因为我所能想到的只是先用光标做一个select,循环遍历结果并插入
ao218c7q1#
在hive3之前,没有唯一约束的概念,即使在hive3中,约束也不是我所知的强制执行的。因此,presto-hive连接器不强制任何唯一约束,因此插入重复行时,插入查询永远不会失败。它们将作为数据的独立副本存储。如果要保持唯一性,则需要在应用程序级别的外部处理。
1条答案
按热度按时间ao218c7q1#
在hive3之前,没有唯一约束的概念,即使在hive3中,约束也不是我所知的强制执行的。
因此,presto-hive连接器不强制任何唯一约束,因此插入重复行时,插入查询永远不会失败。它们将作为数据的独立副本存储。
如果要保持唯一性,则需要在应用程序级别的外部处理。