Table of Contents

Class ColumnWriter

Namespace
ParquetSharp
Assembly
ParquetSharp.dll

Writer of physical Parquet values to a single column.

public abstract class ColumnWriter : IDisposable
Inheritance
ColumnWriter
Implements
Derived
Inherited Members

Properties

ColumnDescriptor

Get the ColumnDescriptor for the column.

public ColumnDescriptor ColumnDescriptor { get; }

Property Value

ColumnDescriptor

ColumnIndex

Get the index of the column within the row group.

public int ColumnIndex { get; }

Property Value

int

ElementType

Get the element Type of the data being written.

public abstract Type ElementType { get; }

Property Value

Type

Handle

protected IntPtr Handle { get; }

Property Value

IntPtr

LogicalTypeFactory

Get the LogicalTypeFactory for the Parquet file writer.

public LogicalTypeFactory LogicalTypeFactory { get; }

Property Value

LogicalTypeFactory

LogicalWriteConverterFactory

Get the LogicalWriteConverterFactory for the Parquet file writer.

public LogicalWriteConverterFactory LogicalWriteConverterFactory { get; }

Property Value

LogicalWriteConverterFactory

RowWritten

Get the number of rows written to the column so far.

public long RowWritten { get; }

Property Value

long

Type

Get the physical type of the column.

public PhysicalType Type { get; }

Property Value

PhysicalType

WriterProperties

Get the WriterProperties for the column.

public WriterProperties WriterProperties { get; }

Property Value

WriterProperties

Methods

Apply<TReturn>(IColumnWriterVisitor<TReturn>)

Apply a visitor to the column writer.

public abstract TReturn Apply<TReturn>(IColumnWriterVisitor<TReturn> visitor)

Parameters

visitor IColumnWriterVisitor<TReturn>

The visitor instance.

Returns

TReturn

The result of the visitor operation.

Type Parameters

TReturn

The return type of the visitor.

Close()

public long Close()

Returns

long

Dispose()

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

public void Dispose()

LogicalWriter(int)

public LogicalColumnWriter LogicalWriter(int bufferLength = 4096)

Parameters

bufferLength int

The buffer length in bytes. Default is 4KB.

Returns

LogicalColumnWriter

A LogicalColumnWriter instance.

LogicalWriterOverride<TElement>(int)

Create a strongly-typed LogicalColumnWriter with an explicit element type override.

public LogicalColumnWriter<TElement> LogicalWriterOverride<TElement>(int bufferLength = 4096)

Parameters

bufferLength int

The buffer length in bytes. Default is 4KB.

Returns

LogicalColumnWriter<TElement>

A LogicalColumnWriter instance.

Type Parameters

TElement

The type of the data to write.

LogicalWriter<TElement>(int)

Create a strongly-typed LogicalColumnWriter without an explicit element type override.

public LogicalColumnWriter<TElement> LogicalWriter<TElement>(int bufferLength = 4096)

Parameters

bufferLength int

The buffer length in bytes. Default is 4KB.

Returns

LogicalColumnWriter<TElement>

A LogicalColumnWriter instance.

Type Parameters

TElement

The type of the data to write.

TypedColumnWriter_WriteBatchSpaced_Bool(IntPtr, long, short*, short*, byte*, long, bool*)

protected static extern IntPtr TypedColumnWriter_WriteBatchSpaced_Bool(IntPtr columnWriter, long numValues, short* defLevels, short* repLevels, byte* validBits, long validBitsOffset, bool* values)

Parameters

columnWriter IntPtr
numValues long
defLevels short*
repLevels short*
validBits byte*
validBitsOffset long
values bool*

Returns

IntPtr

TypedColumnWriter_WriteBatchSpaced_ByteArray(IntPtr, long, short*, short*, byte*, long, ByteArray*)

protected static extern IntPtr TypedColumnWriter_WriteBatchSpaced_ByteArray(IntPtr columnWriter, long numValues, short* defLevels, short* repLevels, byte* validBits, long validBitsOffset, ByteArray* values)

Parameters

columnWriter IntPtr
numValues long
defLevels short*
repLevels short*
validBits byte*
validBitsOffset long
values ByteArray*

Returns

IntPtr

TypedColumnWriter_WriteBatchSpaced_Double(IntPtr, long, short*, short*, byte*, long, double*)

protected static extern IntPtr TypedColumnWriter_WriteBatchSpaced_Double(IntPtr columnWriter, long numValues, short* defLevels, short* repLevels, byte* validBits, long validBitsOffset, double* values)

Parameters

columnWriter IntPtr
numValues long
defLevels short*
repLevels short*
validBits byte*
validBitsOffset long
values double*

Returns

IntPtr

TypedColumnWriter_WriteBatchSpaced_FixedLenByteArray(IntPtr, long, short*, short*, byte*, long, FixedLenByteArray*)

protected static extern IntPtr TypedColumnWriter_WriteBatchSpaced_FixedLenByteArray(IntPtr columnWriter, long numValues, short* defLevels, short* repLevels, byte* validBits, long validBitsOffset, FixedLenByteArray* values)

Parameters

columnWriter IntPtr
numValues long
defLevels short*
repLevels short*
validBits byte*
validBitsOffset long
values FixedLenByteArray*

Returns

IntPtr

TypedColumnWriter_WriteBatchSpaced_Float(IntPtr, long, short*, short*, byte*, long, float*)

protected static extern IntPtr TypedColumnWriter_WriteBatchSpaced_Float(IntPtr columnWriter, long numValues, short* defLevels, short* repLevels, byte* validBits, long validBitsOffset, float* values)

Parameters

columnWriter IntPtr
numValues long
defLevels short*
repLevels short*
validBits byte*
validBitsOffset long
values float*

Returns

IntPtr

TypedColumnWriter_WriteBatchSpaced_Int32(IntPtr, long, short*, short*, byte*, long, int*)

protected static extern IntPtr TypedColumnWriter_WriteBatchSpaced_Int32(IntPtr columnWriter, long numValues, short* defLevels, short* repLevels, byte* validBits, long validBitsOffset, int* values)

Parameters

columnWriter IntPtr
numValues long
defLevels short*
repLevels short*
validBits byte*
validBitsOffset long
values int*

Returns

IntPtr

TypedColumnWriter_WriteBatchSpaced_Int64(IntPtr, long, short*, short*, byte*, long, long*)

protected static extern IntPtr TypedColumnWriter_WriteBatchSpaced_Int64(IntPtr columnWriter, long numValues, short* defLevels, short* repLevels, byte* validBits, long validBitsOffset, long* values)

Parameters

columnWriter IntPtr
numValues long
defLevels short*
repLevels short*
validBits byte*
validBitsOffset long
values long*

Returns

IntPtr

TypedColumnWriter_WriteBatchSpaced_Int96(IntPtr, long, short*, short*, byte*, long, Int96*)

protected static extern IntPtr TypedColumnWriter_WriteBatchSpaced_Int96(IntPtr columnWriter, long numValues, short* defLevels, short* repLevels, byte* validBits, long validBitsOffset, Int96* values)

Parameters

columnWriter IntPtr
numValues long
defLevels short*
repLevels short*
validBits byte*
validBitsOffset long
values Int96*

Returns

IntPtr

TypedColumnWriter_WriteBatch_Bool(IntPtr, long, short*, short*, bool*)

protected static extern IntPtr TypedColumnWriter_WriteBatch_Bool(IntPtr columnWriter, long numValues, short* defLevels, short* repLevels, bool* values)

Parameters

columnWriter IntPtr
numValues long
defLevels short*
repLevels short*
values bool*

Returns

IntPtr

TypedColumnWriter_WriteBatch_ByteArray(IntPtr, long, short*, short*, ByteArray*)

protected static extern IntPtr TypedColumnWriter_WriteBatch_ByteArray(IntPtr columnWriter, long numValues, short* defLevels, short* repLevels, ByteArray* values)

Parameters

columnWriter IntPtr
numValues long
defLevels short*
repLevels short*
values ByteArray*

Returns

IntPtr

TypedColumnWriter_WriteBatch_Double(IntPtr, long, short*, short*, double*)

protected static extern IntPtr TypedColumnWriter_WriteBatch_Double(IntPtr columnWriter, long numValues, short* defLevels, short* repLevels, double* values)

Parameters

columnWriter IntPtr
numValues long
defLevels short*
repLevels short*
values double*

Returns

IntPtr

TypedColumnWriter_WriteBatch_FixedLenByteArray(IntPtr, long, short*, short*, FixedLenByteArray*)

protected static extern IntPtr TypedColumnWriter_WriteBatch_FixedLenByteArray(IntPtr columnWriter, long numValues, short* defLevels, short* repLevels, FixedLenByteArray* values)

Parameters

columnWriter IntPtr
numValues long
defLevels short*
repLevels short*
values FixedLenByteArray*

Returns

IntPtr

TypedColumnWriter_WriteBatch_Float(IntPtr, long, short*, short*, float*)

protected static extern IntPtr TypedColumnWriter_WriteBatch_Float(IntPtr columnWriter, long numValues, short* defLevels, short* repLevels, float* values)

Parameters

columnWriter IntPtr
numValues long
defLevels short*
repLevels short*
values float*

Returns

IntPtr

TypedColumnWriter_WriteBatch_Int32(IntPtr, long, short*, short*, int*)

protected static extern IntPtr TypedColumnWriter_WriteBatch_Int32(IntPtr columnWriter, long numValues, short* defLevels, short* repLevels, int* values)

Parameters

columnWriter IntPtr
numValues long
defLevels short*
repLevels short*
values int*

Returns

IntPtr

TypedColumnWriter_WriteBatch_Int64(IntPtr, long, short*, short*, long*)

protected static extern IntPtr TypedColumnWriter_WriteBatch_Int64(IntPtr columnWriter, long numValues, short* defLevels, short* repLevels, long* values)

Parameters

columnWriter IntPtr
numValues long
defLevels short*
repLevels short*
values long*

Returns

IntPtr

TypedColumnWriter_WriteBatch_Int96(IntPtr, long, short*, short*, Int96*)

protected static extern IntPtr TypedColumnWriter_WriteBatch_Int96(IntPtr columnWriter, long numValues, short* defLevels, short* repLevels, Int96* values)

Parameters

columnWriter IntPtr
numValues long
defLevels short*
repLevels short*
values Int96*

Returns

IntPtr