Hive 1.1.0版本满足以下条件可以进行UPDATE操作:

  1. 表必须是MANAGED TABLE,即非外部表。

  2. 表必须是分区表,即有分区列。

  3. 分区列必须是字符串类型。

  4. 分区列的值必须是常量,不能是表达式或者函数。

  5. UPDATE语句必须指定分区列的值,不能更新分区列。

  6. 更新操作只能更新表中已经存在的数据,不能插入新数据。

  7. UPDATE语句只能更新表中的一行数据,不能更新多行。

  8. UPDATE语句不能在Join操作中使用。

  9. UPDATE语句不能在Subquery中使用。

  10. UPDATE语句不能在INSERT INTO语句中使用。

  11. UPDATE语句不能在GROUP BY和HAVING子句中使用。

需要注意的是,Hive的UPDATE操作是删除旧数据,插入新数据的方式实现的,因此UPDATE操作会产生大量的写入操作,可能会导致性能问题。建议尽量避免使用UPDATE操作,可以使用INSERT OVERWRITE语句替代。

hive 110版本 满足update的条件

原文地址: https://www.cveoy.top/t/topic/LSS 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录