Class AvroReaders

java.lang.Object
dev.hardwood.avro.AvroReaders

public final class AvroReaders extends Object

Factory for creating AvroRowReader instances from a ParquetFileReader.

try (ParquetFileReader fileReader = ParquetFileReader.open(inputFile);
     AvroRowReader reader = AvroReaders.createRowReader(fileReader)) {
    while (reader.hasNext()) {
        GenericRecord record = reader.next();
        long id = (Long) record.get("id");
    }
}
  • Method Details

    • createRowReader

      public static AvroRowReader createRowReader(ParquetFileReader reader)
      Create an AvroRowReader that reads all rows and columns.
      Parameters:
      reader - the opened ParquetFileReader
      Returns:
      a new AvroRowReader
    • createRowReader

      public static AvroRowReader createRowReader(ParquetFileReader reader, FilterPredicate filter)
      Create an AvroRowReader with predicate pushdown.
      Parameters:
      reader - the opened ParquetFileReader
      filter - the filter predicate for row group pruning
      Returns:
      a new AvroRowReader
    • createRowReader

      public static AvroRowReader createRowReader(ParquetFileReader reader, ColumnProjection projection)
      Create an AvroRowReader with column projection.
      Parameters:
      reader - the opened ParquetFileReader
      projection - the columns to read
      Returns:
      a new AvroRowReader
    • createRowReader

      public static AvroRowReader createRowReader(ParquetFileReader reader, ColumnProjection projection, FilterPredicate filter)
      Create an AvroRowReader with column projection and predicate pushdown.
      Parameters:
      reader - the opened ParquetFileReader
      projection - the columns to read
      filter - the filter predicate for row group pruning
      Returns:
      a new AvroRowReader