Mapreduce 使用Parquet文件格式为架构数据创建配置单元(0.10)表

Mapreduce 使用Parquet文件格式为架构数据创建配置单元(0.10)表,mapreduce,nested,hive,avro,parquet,Mapreduce,Nested,Hive,Avro,Parquet,我想将数据从服务器导出到配置单元。 我有一个java类形式的3级嵌套数据。 我成功地使用avro工具ReflectData创建了avro模式,并使用ReflectDatumWriter将数据写入avro文件。在配置单元中,我能够创建一个表,并使用 TBLPROPERTIES ('avro.schema.url'='hdfs:///schema.avsc'); 我可以看到有办法以拼花格式导出相同的数据 假设我完成了这项工作,并且在拼花地板文件中有相同的数据。。 如何在配置单元中查询此导出

我想将数据从服务器导出到配置单元。 我有一个java类形式的3级嵌套数据。 我成功地使用avro工具ReflectData创建了avro模式,并使用ReflectDatumWriter将数据写入avro文件。在配置单元中,我能够创建一个表,并使用

TBLPROPERTIES 
  ('avro.schema.url'='hdfs:///schema.avsc');
我可以看到有办法以拼花格式导出相同的数据

假设我完成了这项工作,并且在拼花地板文件中有相同的数据。。 如何在配置单元中查询此导出拼花地板数据? 但是我如何为配置单元指定模式呢? 我不想在配置单元中用整个嵌套模式编写一个巨大的CREATETABLE语句。如何为架构中的某些成员指定空值?
我有一种方法可以直接创建一个类似avro模式的拼花地板模式,并使用create table语句将其提供给Hive?

要查询Hive中的数据,可以创建Hive外部表并指定文件的位置。像这样

创建外部表XXX。。。 行格式SERDE'镶木地板.hive.SERDE.ParquetHiveSerDe' 存储为 INPUTFORMAT parquet.hive.DeprecatedParquetinInputFormat OUTPUTFORMAT parquet.hive.DeprecatedParquetOutputFormat 地点'/你/地点/这里';

无法不指定此语句,因为生成独立于配置单元元存储的文件,而使用AVRO所能做的就是生成数据文件