package water.parser.parquet; import org.apache.hadoop.conf.Configuration; import org.apache.parquet.hadoop.api.InitContext; import org.apache.parquet.hadoop.api.ReadSupport; import org.apache.parquet.io.api.RecordMaterializer; import org.apache.parquet.schema.MessageType; import water.parser.ParseWriter; import java.util.Map; public class ChunkReadSupport extends ReadSupport<Integer> { private ParseWriter _writer; private byte[] _chunkSchema; public ChunkReadSupport(ParseWriter writer, byte[] chunkSchema) { _writer = writer; _chunkSchema = chunkSchema; } @Override public ReadContext init(InitContext context) { return new ReadContext(context.getFileSchema()); } @Override public RecordMaterializer<Integer> prepareForRead(Configuration configuration, Map<String, String> keyValueMetaData, MessageType fileSchema, ReadContext readContext) { return new ChunkRecordMaterializer(fileSchema, _chunkSchema, _writer); } }