package water.parser.parquet; import org.apache.parquet.io.api.GroupConverter; import org.apache.parquet.io.api.RecordMaterializer; import org.apache.parquet.schema.MessageType; import water.parser.ParseWriter; /** * Implementation of Parquet's RecordMaterializer for Chunks * * This implementation doesn't directly return any records. The rows are written to Chunks * indirectly using a ParseWriter and function getCurrentRecord returns the index of the record * in the current chunk. */ class ChunkRecordMaterializer extends RecordMaterializer<Integer> { private ChunkConverter _converter; ChunkRecordMaterializer(MessageType parquetSchema, byte[] chunkSchema, ParseWriter writer) { _converter = new ChunkConverter(parquetSchema, chunkSchema, writer); } @Override public Integer getCurrentRecord() { return _converter.getCurrentRecordIdx(); } @Override public GroupConverter getRootConverter() { return _converter; } }