Parquet.SourceGenerator.AttributesParquetSerializerOptions
Namespace: Parquet.SourceGenerator
Configurable options for Parquet source generator serialization and deserialization operations.
Syntax
ParquetSerializerOptionsUML Class Diagram
ParquetSerializerOptions Class Diagram
Properties17
System.Collections.Generic.IDictionary<string, Parquet.SourceGenerator.ParquetColumnEncoding>IDictionary<string, ParquetColumnEncoding> ParquetSerializerOptions.ColumnEncodingHintsSpecifies runtime encoding hints to the writer for specific columns by column path or name. Precedence with <c>[ParquetColumn(Encoding = ...)]</c>: the attribute is applied first and an entry here for the same column name replaces it, so this wins when both are set (an explicit <see cref="ParquetColumnEncoding.Default"/> removes the attribute's hint). Columns without an entry keep their attribute hint. Applies to writes only, and to top-level columns: an <c>Encoding</c> on a member inside a nested struct or list element is not emitted today.
Parquet.SourceGenerator.ParquetCompressionLevel?ParquetCompressionLevel? ParquetSerializerOptions.CompressionLevelGets or sets how hard the compression method should work. Null leaves Parquet.Net's own default in place, which is <c>SmallestSize</c>.
Parquet.SourceGenerator.ParquetCompressionMethodParquetCompressionMethod ParquetSerializerOptions.CompressionMethodGets or sets the compression method to apply when creating Parquet files (default is Snappy).
boolbool ParquetSerializerOptions.DeduplicateStringsGets or sets whether to deduplicate string instances during deserialization (default is false). When enabled, identical string values within a row group share the same object reference, dramatically reducing managed heap allocations and memory footprint for low-cardinality columns. <para> Precedence with <c>[ParquetColumn(Deduplicate = true)]</c>: the two are combined with "or". The attribute deduplicates its column even when this is <c>false</c>; this set to <c>true</c> deduplicates every string column. Applies to reads only. </para>
Parquet.SourceGenerator.ParquetSerializerOptionsParquetSerializerOptions ParquetSerializerOptions.DefaultGets a new configuration instance carrying the default values.
int?int? ParquetSerializerOptions.DictionaryEncodingSampleSizeGets or sets the number of values to sample before attempting full dictionary encoding. When positive, a quick uniqueness check is performed on the first sample to determine if dictionary encoding should be applied, avoiding expensive full-column scans on high-cardinality data. Default is null (leaving Parquet.Net's default of 0 / full scan).
double?double? ParquetSerializerOptions.DictionaryEncodingThresholdGets or sets the dictionary uniqueness threshold, which is a value from 0 (no unique values) to 1 (all values are unique) indicating when dictionary encoding is applied. Uniqueness factor needs to be less than or equal to this threshold. Null leaves Parquet.Net's default in place (0.8).
longlong ParquetSerializerOptions.MaxAllocationBytesGets or sets the maximum number of bytes a read may allocate for one row group's column buffers, computed from the row and value counts the file declares before any of them is allocated (default is 268,435,456, which is 256 MiB).
intint ParquetSerializerOptions.MaxAllocationValuesGets or sets the maximum number of values permitted in a single column chunk allocation or total collection size (default is 10,000,000).
intint ParquetSerializerOptions.MaxDecompressedPageSizeGets or sets the maximum uncompressed size of an individual page read from a Parquet file (default is 67,108,864 bytes / 64 MiB).
intint ParquetSerializerOptions.MaxDecompressionExpansionRatioGets or sets the maximum uncompressed-to-compressed size ratio permitted for an individual compressed page (default is 500).
intint ParquetSerializerOptions.MaxDegreeOfParallelismGets or sets the maximum degree of parallelism for parallel row group reading (default is -1, using <c>Environment.ProcessorCount</c>).
intint ParquetSerializerOptions.MaxDictionaryEntriesGets or sets the maximum number of values permitted in a dictionary page before the reader rejects the column (default is 1,000,000).
intint ParquetSerializerOptions.MaxNestingDepthGets or sets the maximum compound schema nesting depth permitted (default is 64).
intint ParquetSerializerOptions.MaxRowGroupCountGets or sets the maximum number of row groups permitted in a single Parquet file (default is 100,000).
intint ParquetSerializerOptions.MaxStringLengthBytesGets or sets the maximum UTF-8 byte length permitted for a decoded string value before the reader materializes it (default is 1,048,576 bytes).
intint ParquetSerializerOptions.RowGroupSizeGets or sets the target row group size for batched writing operations (default is 50,000 rows).