1、从原parquet文件中读出schema
Configurationconfiguration = new Configuration(true);
ParquetMetadata readFooter = null;
ParquetFileReader parquetFileReader = null;
readFooter =ParquetFileReader.readFooter(configuration, parquetFilePath,ParquetMetadataConverter.NO_FILTER);
schema =readFooter.getFileMetaData().getSchema();
2、创建一个MessageType(一个schema),里面填充自己的字段,然后将两个schema合并,union方法的返回值就是合并后的schema
Type type = newPrimitiveType(Repetition.OPTIONAL, PrimitiveTypeName.DOUBLE,"HOT_SCORE");
MessageType mySchema = newMessageType("root", type);
extendedSchema = schema.union(mySchema);
parquet中Type的继承关系
其中,PrimitiveType为基本类型字段,MessageType就是schema,GroupType是嵌套的列类型