Table of Contents

Class ParquetFileReader

Namespace
Plank.Reading.Physical
Assembly
Plank.dll
public sealed class ParquetFileReader : IDisposable
Inheritance
ParquetFileReader
Implements
Inherited Members

Constructors

ParquetFileReader(ParquetFileReaderOptions?)

Parameters

options ParquetFileReaderOptions

Properties

Metadata

public ParquetFileMetadata Metadata { get; }

Property Value

ParquetFileMetadata

Methods

Dispose()

Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.

public void Dispose()

OpenBloomFilter(int, int)

Loads a column chunk's split-block Bloom filter.

public ParquetBloomFilter OpenBloomFilter(int rowGroupOrdinal, int columnOrdinal)

Parameters

rowGroupOrdinal int
columnOrdinal int

Returns

ParquetBloomFilter

OpenPages(int, int)

public ParquetPageCursor OpenPages(int rowGroupOrdinal, int columnOrdinal)

Parameters

rowGroupOrdinal int
columnOrdinal int

Returns

ParquetPageCursor

Reset(IParquetReadSource)

Reads the parquet footer from source and makes it the current source for page reads.

public void Reset(IParquetReadSource source)

Parameters

source IParquetReadSource

The random-access parquet source to read from.

Remarks

The caller keeps ownership of source: the reader never disposes it, so a source holding a handle (such as FileReadSource) must be disposed by whoever constructed it. This is what lets a single source be shared — an in-place merge reads and writes through one IParquetReadWriteSource, and would break if resetting the reader closed it. Any stream the reader had wrapped itself is still closed here, since resetting abandons it.

Resetting the reader invalidates page cursors created from an earlier source. Metadata buffers come from the configured pool, so reset does not allocate them when the pool already has arrays big enough.

Reset(Stream)

Reads the parquet footer from stream and makes it the current source for page reads.

public void Reset(Stream stream)

Parameters

stream Stream

The stream containing a parquet file.

Remarks

The reader takes ownership of stream: it is closed when the reader is reset onto a different source, when the reader is disposed, and before a failed reset returns. Pass a IParquetReadSource instead to keep ownership of the underlying resource.

Resetting the reader invalidates page cursors created from an earlier source. After the first stream reset, the reader keeps the same stream wrapper. Metadata buffers come from the configured pool, so reset does not allocate them when the pool already has arrays big enough.