AVRO文件的外部Hive表说它没有数据

时间:2016-12-02 17:57:58

标签: hadoop hive avro

我创建了一个外部Hive表,指向一个包含多个avro文件的位置。 create语句没有任何问题,它创建了预期的列。但是,当我尝试运行查询时,表没有数据。我尝试以几种不同的方式创建表,但无法使其工作。我还验证了该目录中有avro个文件。

CREATE EXTERNAL TABLE table_name
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' 
LOCATION '/path/to/avro/data/' 
TBLPROPERTIES ('avro.schema.url'='/path/to/schema/ags.avsc');

CREATE EXTERNAL TABLE table_name
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.avro.AvroSerDe' 
STORED as AVRO
LOCATION '/path/to/avro/data/' 
TBLPROPERTIES ('avro.schema.url'='/path/to/schema/ags.avsc');

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

结果模式文件(由sqoop生成)不正确。我最后使用“avro-tools getschema”创建了一个新的模式文件。一旦我使用了该模式文件,一切都按预期工作。