我在 hive 中有一个表,它是使用 ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.avro.AvroSerDe'
创建的。
尝试更新记录但收到以下错误消息:
FAILED: SemanticException [Error 10294]: Attempt to do update or delete using transaction manager that does not support these operations. (state=42000,code=10294)
AvroSerDe 似乎不支持 ACID 事务,但我找不到任何相关信息。
最佳答案
从最新的 Hive 版本开始,Hive 事务不支持 Avro 文件格式。目前,它已集成为仅支持 ORC 文件格式。
根据 Hive 文档“在这个第一个版本中只支持 ORC 文件格式。该功能已经构建,使得事务可以被任何存储格式使用,可以确定更新或删除如何应用于基本记录(基本上,具有显式或隐式行 ID),但到目前为止,集成工作仅针对 ORC 完成。”
您可以找到有关 Hive 事务的更多信息 here
关于hadoop - hive 中的 avroserde 是否允许更新或删除记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36598925/