假设在hive中插入100条记录,已经插入了40条记录,但由于某些原因,插入失败了。事务会完全回滚,撤销插入的40条记录吗? 或者即使在插入查询失败后,我们会在hive表中看到40条记录?
ttvkxqim1#
操作是原子性的:如果你使用hiveql插入或重写数据,它会将数据写入临时位置,只有当命令成功时,文件才会被移动到表的位置(在INSERT OVERWRITE的情况下,旧文件会被删除)。也请阅读这个文档,了解更多关于在并发模式下支持的酸的特性和限制:什么是酸,为什么要使用它?在hive 0.13之前,原子性、一致性和持久性都是在分区级别提供的。隔离可以通过开启一个可用的锁定机制(zookeeper或内存中)来提供。还请阅读关于启用酸的hive锁(事务性和非事务性表)。
INSERT OVERWRITE
1条答案
按热度按时间ttvkxqim1#
操作是原子性的:如果你使用hiveql插入或重写数据,它会将数据写入临时位置,只有当命令成功时,文件才会被移动到表的位置(在
INSERT OVERWRITE
的情况下,旧文件会被删除)。也请阅读这个文档,了解更多关于在并发模式下支持的酸的特性和限制:什么是酸,为什么要使用它?
在hive 0.13之前,原子性、一致性和持久性都是在分区级别提供的。隔离可以通过开启一个可用的锁定机制(zookeeper或内存中)来提供。
还请阅读关于启用酸的hive锁(事务性和非事务性表)。