0

我读过使用 Hive JDBC 存储处理程序(https://github.com/qubole/Hive-JDBC-Storage-Handler),可以在不同的数据库(MySQL、Oracle、DB2)上创建 Hive 中的外部表,用户可以使用此处理程序使用 Hive 读取和写入 JDBC 数据库。我的问题在更新中。如果我们使用支持 Hive 更新/删除的 hive.14 并使用存储处理程序将外部表指向 JDBC 数据库表,那么当我们从 Hive 端触发更新查询时,它是否允许我们更新数据库表?

4

1 回答 1

0

您不能更新配置单元中的外部表。

在 Hive 中,只有事务表支持 ACID 属性。默认情况下,事务配置为关闭。因此,要创建事务表,您需要在 create 语句中添加'TBLPROPERTIES ('transactional'='true')'

它有很多限制。其中之一是您不能将外部表设为 ACID 表,因为外部表超出了 hive compactor 的控制范围。

要阅读有关此的更多信息,请单击此处

于 2017-07-14T08:09:07.967 回答