Table of Contents

Class ParquetSchema

Namespace
Plank.Schema
Assembly
Plank.dll
public sealed record ParquetSchema : IEquatable<ParquetSchema>
Inheritance
ParquetSchema
Implements
Inherited Members

Constructors

ParquetSchema(ImmutableArray<ColumnDefinition>)

public ParquetSchema(ImmutableArray<ColumnDefinition> definitions)

Parameters

definitions ImmutableArray<ColumnDefinition>

Properties

Definitions

public ImmutableArray<ColumnDefinition> Definitions { get; }

Property Value

ImmutableArray<ColumnDefinition>

LeafColumns

public ImmutableArray<LeafColumn> LeafColumns { get; }

Property Value

ImmutableArray<LeafColumn>

Methods

CreateAppender(IParquetReadSource, IParquetWriteSource, ParquetAppendOptions?)

Appends to an existing file, copying its retained data if a separate destination is used.

Parameters

source IParquetReadSource
destination IParquetWriteSource
options ParquetAppendOptions

Returns

ParquetWriter

Remarks

The complete physical schema must match. The source must remain stable while opening the appender. Source and destination may refer to the same storage.

CreateAppender(Stream, ParquetAppendOptions?)

Appends to a file whose complete physical schema matches this schema.

public ParquetWriter CreateAppender(Stream stream, ParquetAppendOptions? options = null)

Parameters

stream Stream
options ParquetAppendOptions

Returns

ParquetWriter

Remarks

Field order, nested layout, repetition, logical types, and field IDs must match. Reader projections and schema evolution are not supported when retaining existing encoded pages.

CreateMerger(IParquetReadSource, IParquetWriteSource, ParquetMergeOptions?)

Copies a file into a destination for merging with an exactly matching physical schema.

Parameters

source IParquetReadSource
destination IParquetWriteSource
options ParquetMergeOptions

Returns

ParquetFileMerger

Remarks

Source and destination must refer to different storage, including when using separate custom adapters. The source must remain stable throughout the merge.

CreateMerger(IParquetReadWriteSource, ParquetMergeOptions?)

Opens a file for in-place merging with an exactly matching physical schema.

Parameters

destination IParquetReadWriteSource
options ParquetMergeOptions

Returns

ParquetFileMerger

CreateReader(IParquetReadSource, ParquetReaderOptions?, ParquetPagePruner?)

public ParquetReader CreateReader(IParquetReadSource source, ParquetReaderOptions? options = null, ParquetPagePruner? pagePruner = null)

Parameters

source IParquetReadSource
options ParquetReaderOptions
pagePruner ParquetPagePruner

Returns

ParquetReader

CreateReader(Stream, ParquetReaderOptions?, ParquetPagePruner?)

public ParquetReader CreateReader(Stream stream, ParquetReaderOptions? options = null, ParquetPagePruner? pagePruner = null)

Parameters

stream Stream
options ParquetReaderOptions
pagePruner ParquetPagePruner

Returns

ParquetReader

CreateWriter(IParquetWriteSource, ParquetWriterOptions?)

Parameters

destination IParquetWriteSource
options ParquetWriterOptions

Returns

ParquetWriter

CreateWriter(Stream, ParquetWriterOptions?)

public ParquetWriter CreateWriter(Stream stream, ParquetWriterOptions? options = null)

Parameters

stream Stream
options ParquetWriterOptions

Returns

ParquetWriter