hadoop - hive 中的 avroserde 是否允许更新或删除记录?

标签 hadoop hive avro

我在 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/

相关文章:

google-bigquery - Avro 日期和时间与 BigQuery 的兼容性?

rust - 如何仅序列化 Avro 二进制编码而不使用指纹或模式

java - 具有迭代器错误的Reducer

hadoop - Apache Pig:在foreach引用顶级字段内应用LIMIT

hadoop - Hadoop TaskTracker问题

java - 自定义 Hive UDF 中的映射列表

hadoop - Hive 2.1.0:无法移动源

java - ClassCastException:java.lang.Exception: mapred 中的 java.lang.ClassCastException

sql - 配置单元比较与子查询的汇总结果

java - 如何从 Avro 中的 RECORD 类型获取键入的值?