Hive 如何基于包含模式的Avro文件构建Avro配置单元表?

Hive 如何基于包含模式的Avro文件构建Avro配置单元表?,hive,schema,avro,Hive,Schema,Avro,我们有一个Avro格式的数据集,每个Avro文件中都有模式 我想在这些文件上建立配置单元表 我从社区里的一个老问题中得到了以下建议: 创建存储为AVRO位置的外部表sampe_表'hdfs:///user/hive/; 但每当我尝试时,总是会出现错误: java.lang.Exception: java.sql.SQLException: Error while processing statement: FAILED: Execution Error, return code 1 from

我们有一个Avro格式的数据集,每个Avro文件中都有模式

我想在这些文件上建立配置单元表

我从社区里的一个老问题中得到了以下建议:

创建存储为AVRO位置的外部表sampe_表'hdfs:///user/hive/;

但每当我尝试时,总是会出现错误:

 java.lang.Exception: java.sql.SQLException: Error while processing statement: FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. java.lang.RuntimeException: MetaException(message:org.apache.hadoop.hive.serde2.SerDeException Encountered AvroSerdeException determining schema. Returning signal schema to indicate problem: Neither avro.schema.literal nor avro.schema.url specified, can't determine table schema)

有什么建议吗?或者您知道任何可以从文件中拆分架构的在线工具吗?

首先生成一个
avsc
文件,并使用该文件创建一个表

create external table myavro 
stored as avro 
location '/user/cloudera/myavro'
tblproperties('avro.schema.url' = 'file:///home/cloudera/myavsc.avsc')
要从现有avro数据文件生成
avsc
,请使用
avro工具
,如下所示

avro-tools getschema your_avro_file