Table of Contents

Namespace ParquetSharp

Classes

AadPrefixVerifier

Verifies identity(AAD Prefix) of individual file, or of file collection in a data set.

ApplicationVersion
BsonLogicalType
ByteArrayReaderCache<TPhysical, TLogical>

Cache duplicated ByteArray / FixedByteArray values when reading and converting them to their logical form. This is particularly useful when reading a lot of duplicate strings.

ByteBuffer

Pool the ByteArray allocations into few buffers that we can pin, rather than many small byte[].

This allows us to more efficiently pass byte-arrays to Parquet native API without having a pinning handle per byte[] (and indirectly, strings).

Column

Column properties for constructing schema nodes from C# types. This is a higher-level API not part of apache-parquet-cpp.

ColumnChunkMetaData

Represents the metadata for a column chunk.

ColumnCryptoMetaData

Represents metadata related to the encryption and decryption of a Parquet column. Provides access to encryption-specific properties for a column and manages the associated native resources.

ColumnDecryptionProperties

Properties related to decrypting one specific column.

ColumnDecryptionPropertiesBuilder

Builder pattern for creating and configuring ColumnDecryptionProperties objects. Provides a fluent API for setting the decryption properties for a column in a Parquet file.

ColumnDescriptor

The ColumnDescriptor encapsulates information necessary to interpret primitive column data in the context of a particular schema. We have to examine the node structure of a column's path to the root in the schema tree to be able to reassemble the nested structure from the repetition and definition levels.

ColumnEncryptionProperties

Properties related to encrypting one specific column.

ColumnEncryptionPropertiesBuilder

Builder pattern for creating and configuring ColumnEncryptionProperties objects. Provides a fluent API for setting the encryption properties for a column in a Parquet file.

ColumnReader

Reader of physical Parquet values from a single column.

ColumnReader<TValue>

Reader of physical Parquet values from a single column.

ColumnWriter

Writer of physical Parquet values to a single column.

ColumnWriter<TValue>

Strongly-typed writer of physical Parquet values to a single column.

Column<TLogicalType>
DateLogicalType
DecimalLogicalType
DecryptionKeyRetriever

Map a decryption key to a key-metadata. Serves as a callback by FileDecryptionProperties to access decryption keys whenever they are needed.

DefaultWriterProperties

Process-wide default writer properties to use. All properties are nullable and defaults are taken from the Arrow library when a default is set to null. Note that these defaults are not used if creating writer properties with WriterProperties.GetDefaultWriterProperties, you must use a WriterPropertiesBuilder if creating writer properties yourself, or use one of the ParquetFileWriter constructors that does not take a WriterProperties parameter.

EnumLogicalType
FileDecryptionProperties

Properties related to decrypting a parquet file.

FileDecryptionPropertiesBuilder

Builder pattern for creating and configuring a FileDecryptionProperties object. Provides a fluent API for setting the decryption properties (footer key, encryption algorithm, etc.) for a Parquet file.

FileEncryptionProperties

Properties related to encrypting a parquet file.

FileEncryptionPropertiesBuilder

Builder pattern for creating and configuring a FileEncryptionProperties object. Provides a fluent API for setting the encryption properties (footer key, encryption algorithm, etc.) for a Parquet file.

FileMetaData

Metadata for a Parquet file. Includes information about the schema, row groups, versions, etc.

Float16LogicalType
IntLogicalType
IntervalLogicalType
JsonLogicalType
ListLogicalType
LogicalColumnReader

Column reader transparently converting Parquet physical types to C# types. This is a higher-level API not part of apache-parquet-cpp.

LogicalColumnReader<TElement>
LogicalColumnStream<TSource>
LogicalColumnWriter

Column writer transparently converting C# types to Parquet physical types. This is a higher-level API not part of apache-parquet-cpp.

LogicalColumnWriter<TElement>

Column writer transparently converting C# types to Parquet physical types. This is a higher-level API not part of apache-parquet-cpp.

LogicalRead

Parquet physical types to C# types read conversion logic. Separate class for per-element conversion logic.

LogicalReadConverterFactory

Extendable class that handles the mapping between a Parquet physical type and the C# logical type when reading values.

LogicalRead<TLogical, TPhysical>

Parquet physical types to C# types read conversion logic.

LogicalType
LogicalTypeFactory

Defines the mapping between .NET types and Parquet logical types, allowing for custom type handling.

LogicalWrite

C# types to Parquet physical types write conversion logic. Separate class for per-element conversion logic.

LogicalWriteConverterFactory

Extendable class that handles the mapping between a C# logical type and the Parquet physical type when writing values.

LogicalWrite<TLogical, TPhysical>

C# types to Parquet physical types write conversion logic.

MapLogicalType
MemoryPool

Base class for memory allocation on the CPU. Tracks the number of allocated bytes.

NoneLogicalType
NullLogicalType
ParquetException

Exception thrown by apache-parquet-cpp or the ParquetSharp wrapping logic.

ParquetFileReader

Opens and reads Parquet files.

ParquetFileWriter

Opens and writes Parquet files.

ReaderProperties

Configures options for reading Parquet files.

RowGroupMetaData

Represents the metadata for a row group in a Parquet file.

RowGroupReader

Reads row groups in a Parquet file.

RowGroupWriter

Writes a row group to a Parquet file. Allows access to individual ColumnWriter instances for each column in the row group.

SchemaDescriptor
Statistics
Statistics<TValue>
StringLogicalType
TimeLogicalType
TimestampLogicalType
UuidLogicalType
WriterProperties

Configures options for writing Parquet files.

WriterPropertiesBuilder

Builder pattern for creating and configuring a WriterProperties object.

Structs

ByteArray

Represents a Parquet array of contiguous bytes.

Date

Represent a Parquet 32-bit date, based around 1970-01-01.

DateTimeNanos

Represents a Parquet Timestamp with Nanoseconds time unit.

FixedLenByteArray

Represents a Parquet fixed-length array of contiguous bytes.

Int96

Represents a Parquet 96-bit signed integer. This is obsolete (see https://issues.apache.org/jira/browse/PARQUET-323).

Nested<T>

Wraps values that are nested inside group nodes in the Parquet schema, so that complex nested structures can be interpreted from columnar arrays.

TimeSpanNanos

Represents a Parquet Time with Nanoseconds time unit.

Interfaces

IColumnDescriptorVisitor<TReturn>

Visitor on ColumnDescriptor to discover the system types in a type safe manner.

IColumnReaderVisitor<TReturn>

Visitor on ColumnReader to discover the derived reader type in a type safe manner.

IColumnWriterVisitor<TReturn>

Visitor on ColumnWriter to discover the derived writer type in a type safe manner.

ILogicalColumnReaderVisitor<TReturn>

Visitor on LogicalColumnReader to discover the derived reader type in a type safe manner.

ILogicalColumnWriterVisitor<TReturn>

Visitor on LogicalColumnWriter to discover the derived writer type in a type safe manner.

Enums

ColumnOrder
Compression
Encoding
LogicalTypeEnum
ParquetCipher
ParquetVersion
PhysicalType
Repetition
SortOrder
TimeUnit

Delegates

LogicalRead<TLogical, TPhysical>.Converter
LogicalRead<TLogical, TPhysical>.DirectReader
LogicalWrite<TLogical, TPhysical>.Converter