如何建立avro配置单元表基于avro文件与模式内?

trnvg8h3  于 2021-06-26  发布在  Hive
关注(0)|答案(1)|浏览(611)

我们有一个avro格式的数据集,每个avro文件中都有一个模式。
我想在这些文件上建立一个配置单元表,
我从社区里的一个老问题中得到了以下建议:
创建存储为avro位置'hdfs:///user/hive/的外部表sampeètable;
但每当我尝试时,总是会出现错误:

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)

有什么建议吗?或者你知道有什么在线工具可以从文件中分离模式吗?

uubf1zoe

uubf1zoe1#

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

create external table myavro 
stored as avro 
location '/user/cloudera/myavro'
tblproperties('avro.schema.url' = 'file:///home/cloudera/myavsc.avsc')

产生 avsc 从现有的avro数据文件中,使用 avro-tools ,就像这样

avro-tools getschema your_avro_file

相关问题