Class ParquetFileReader

java.lang.Object
dev.hardwood.reader.ParquetFileReader
All Implemented Interfaces:
AutoCloseable

public class ParquetFileReader extends Object implements AutoCloseable
Reader for individual Parquet files.

For single-file usage:

try (ParquetFileReader reader = ParquetFileReader.open(path)) {
    RowReader rows = reader.createRowReader();
    // ...
}

For multi-file usage with shared thread pool, use Hardwood.

  • Method Details

    • open

      public static ParquetFileReader open(Path path) throws IOException
      Open a Parquet file with a dedicated context. The context is closed when this reader is closed.
      Throws:
      IOException
    • open

      public static ParquetFileReader open(Path path, HardwoodContext context) throws IOException
      Open a Parquet file with a shared context. The context is NOT closed when this reader is closed.
      Throws:
      IOException
    • getFileMetaData

      public FileMetaData getFileMetaData()
    • getFileSchema

      public FileSchema getFileSchema()
    • createColumnReader

      public ColumnReader createColumnReader(String columnName)
      Create a ColumnReader for a named column, spanning all row groups.
    • createColumnReader

      public ColumnReader createColumnReader(int columnIndex)
      Create a ColumnReader for a column by index, spanning all row groups.
    • createRowReader

      public RowReader createRowReader()
      Create a RowReader that iterates over all rows in all row groups.
    • createRowReader

      public RowReader createRowReader(ColumnProjection projection)
      Create a RowReader that iterates over selected columns in all row groups.
      Parameters:
      projection - specifies which columns to read
      Returns:
      a RowReader for the selected columns
    • close

      public void close() throws IOException
      Specified by:
      close in interface AutoCloseable
      Throws:
      IOException