hive 110版本 满足update的条件
Hive 1.1.0版本满足以下条件可以进行UPDATE操作:
-
表必须是MANAGED TABLE,即非外部表。
-
表必须是分区表,即有分区列。
-
分区列必须是字符串类型。
-
分区列的值必须是常量,不能是表达式或者函数。
-
UPDATE语句必须指定分区列的值,不能更新分区列。
-
更新操作只能更新表中已经存在的数据,不能插入新数据。
-
UPDATE语句只能更新表中的一行数据,不能更新多行。
-
UPDATE语句不能在Join操作中使用。
-
UPDATE语句不能在Subquery中使用。
-
UPDATE语句不能在INSERT INTO语句中使用。
-
UPDATE语句不能在GROUP BY和HAVING子句中使用。
需要注意的是,Hive的UPDATE操作是删除旧数据,插入新数据的方式实现的,因此UPDATE操作会产生大量的写入操作,可能会导致性能问题。建议尽量避免使用UPDATE操作,可以使用INSERT OVERWRITE语句替代。
原文地址: https://www.cveoy.top/t/topic/LSS 著作权归作者所有。请勿转载和采集!