执行错误,从 org.apache.hadoop.hive.ql.exec.DDLTask 返回代码 1。无法验证 serde:org.apache.hadoop.hive.serde2.avro.A

Posted

技术标签:

【中文标题】执行错误,从 org.apache.hadoop.hive.ql.exec.DDLTask 返回代码 1。无法验证 serde:org.apache.hadoop.hive.serde2.avro.AvroSerde【英文标题】:Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. Cannot validate serde: org.apache.hadoop.hive.serde2.avro.AvroSerde 【发布时间】:2017-01-14 06:33:05 【问题描述】:

我正在使用avro serde 创建一个配置单元表来存储 Twitter 数据。

这是代码-

create table tweets
    row format serde
    'org.apache.hadoop.hive.serde2.avro.AvroSerde'
    stored as inputformat
    'org.apache.hadoop.hive.ql.io.avro.AvroContainerInputFormat'
    outputformat
    'org.apache.hadoop.hive.ql.io.avro.AvroContainerOutputFormat'
 tblproperties('avro.schema.url'='hdfs://user/itelligence/ee/TwitterDataAvroSchema.avsc');

我遇到了错误-

FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. 
Cannot validate serde: org.apache.hadoop.hive.serde2.avro.AvroSerde

我已经尝试将 avsc 文件的输入作为

tblproperties('avro.schema.url'='hdfs:///user/itelligence/ee/TwitterDataAvroSchema.avsc');
tblproperties('avro.schema.url'='file://user/itelligence/schema/TwitterDataAvroSchema.avsc');

在本地和 hdfs 文件系统中,我遇到了同样的错误。

【问题讨论】:

【参考方案1】:

错误消息指出 Hive 未找到 SerDe Java 类。它甚至不费心去阅读架构...

请注意,“SerDe”有一个大写字母 D,因为它代表 Serializer-Deserializer。 因此,只需更正您在 AvroSerDe 中的拼写错误,然后再试一次。

【讨论】:

我试过大写的 D 。但问题是 hive SerDe 类文件已损坏。

以上是关于执行错误,从 org.apache.hadoop.hive.ql.exec.DDLTask 返回代码 1。无法验证 serde:org.apache.hadoop.hive.serde2.avro.A的主要内容,如果未能解决你的问题,请参考以下文章

Hive 错误:失败:执行错误,从 org.apache.hadoop.hive.ql.exec.DDLTask 返回代码 1。字符串类型信息

Hive错误:FAILED:执行错误,从org.apache.hadoop.hive.ql.exec.mr.MapRedTask返回代码2

Hadoop - 删除 Hive 表时超时

如何从 pyspark 访问 org.apache.hadoop.fs.FileUtil?

Hive 查询错误 java.lang.RuntimeException: org.apache.hadoop.hive.ql.metadata.HiveException

ERROR:org.apache.hadoop.hbase.PleaseHoldException: Master is initializing错误