java操作parquet文件,添加字段

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的继承关系

java操作parquet文件,添加字段_第1张图片

其中,PrimitiveType为基本类型字段,MessageType就是schema,GroupType是嵌套的列类型

你可能感兴趣的:(分布式,hadoop,java)