我正在使用avro serde
创建一个hive表来存储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文件系统中,我收到同样的错误。
答案 0 :(得分:0)
错误消息指出Hive未找到SerDe Java类。它甚至懒得阅读架构...
请注意" SerDe"有一个资本D ,因为它代表Serializer-Deserializer
所以,只需修复AvroSerDe
中的拼写错误,然后重试。