简体   繁体   English

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

[英]Does the avroserde in hive allow to update or delete records?

I have a table in hive which is created using ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.avro.AvroSerDe' . 我在hive中有一个表,它使用ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.avro.AvroSerDe'创建。

Trying to update a record but I receive the following error message: 尝试更新记录但收到以下错误消息:

FAILED: SemanticException [Error 10294]: Attempt to do update or delete using transaction manager that does not support these operations. (state=42000,code=10294)

It seems that AvroSerDe does not support ACID transaction but I can't find any info about that. 似乎AvroSerDe不支持ACID事务,但我找不到任何关于它的信息。

Hive transactions doesn't support Avro file formats as of latest Hive release. 从最新的Hive版本开始,Hive事务不支持Avro文件格式。 And it's currently integrated to work with only ORC file formats . 它目前已集成, 仅适用于ORC文件格式

According to Hive documentation "Only ORC file format is supported in this first release. The feature has been built such that transactions can be used by any storage format that can determine how updates or deletes apply to base records (basically, that has an explicit or implicit row id), but so far the integration work has only been done for ORC ." 根据Hive文档“在第一个版本中仅支持ORC文件格式。该功能已经构建,任何存储格式都可以使用事务,可以确定更新或删除如何应用于基本记录(基本上,有明确的或隐式行id), 但到目前为止,只对ORC进行了集成工作 。“

You can find more information about Hive transactions here 您可以在此处找到有关Hive交易的更多信息

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM