UNPKG

hyparquet-writer

Version:

Parquet file writer for JavaScript

98 lines 4.14 kB
/** * @import {ColumnChunk, CompressionCodec, FileMetaData, KeyValue, RowGroup, SchemaElement, SchemaTree} from 'hyparquet' * @import {ColumnEncoder, ColumnSource, Compressors, PageIndexes, Writer} from '../src/types.js' */ /** * ParquetWriter class allows incremental writing of parquet files. * * @param {object} options * @param {Writer} options.writer * @param {SchemaElement[]} options.schema * @param {CompressionCodec} [options.codec] * @param {Compressors} [options.compressors] * @param {boolean} [options.statistics] * @param {KeyValue[]} [options.kvMetadata] */ export function ParquetWriter({ writer, schema, codec, compressors, statistics, kvMetadata }: { writer: Writer; schema: SchemaElement[]; codec?: import("hyparquet/src/types.js").CompressionCodec | undefined; compressors?: Compressors | undefined; statistics?: boolean | undefined; kvMetadata?: import("hyparquet/src/types.js").KeyValue[] | undefined; }): void; export class ParquetWriter { /** * @import {ColumnChunk, CompressionCodec, FileMetaData, KeyValue, RowGroup, SchemaElement, SchemaTree} from 'hyparquet' * @import {ColumnEncoder, ColumnSource, Compressors, PageIndexes, Writer} from '../src/types.js' */ /** * ParquetWriter class allows incremental writing of parquet files. * * @param {object} options * @param {Writer} options.writer * @param {SchemaElement[]} options.schema * @param {CompressionCodec} [options.codec] * @param {Compressors} [options.compressors] * @param {boolean} [options.statistics] * @param {KeyValue[]} [options.kvMetadata] */ constructor({ writer, schema, codec, compressors, statistics, kvMetadata }: { writer: Writer; schema: SchemaElement[]; codec?: import("hyparquet/src/types.js").CompressionCodec | undefined; compressors?: Compressors | undefined; statistics?: boolean | undefined; kvMetadata?: import("hyparquet/src/types.js").KeyValue[] | undefined; }); writer: Writer; schema: import("hyparquet/src/types.js").SchemaElement[]; codec: import("hyparquet/src/types.js").CompressionCodec; compressors: { UNCOMPRESSED?: import("../src/types.js").Compressor | undefined; SNAPPY: import("../src/types.js").Compressor; GZIP?: import("../src/types.js").Compressor | undefined; LZO?: import("../src/types.js").Compressor | undefined; BROTLI?: import("../src/types.js").Compressor | undefined; LZ4?: import("../src/types.js").Compressor | undefined; ZSTD?: import("../src/types.js").Compressor | undefined; LZ4_RAW?: import("../src/types.js").Compressor | undefined; }; statistics: boolean; kvMetadata: import("hyparquet/src/types.js").KeyValue[] | undefined; /** @type {RowGroup[]} */ row_groups: RowGroup[]; num_rows: bigint; /** @type {PageIndexes[]} */ pendingIndexes: PageIndexes[]; /** * Write data to the file. * Will split data into row groups of the specified size. * Calls writer.flush() (if defined) after each row group; if it returns a * Promise, subsequent row groups await it before encoding more data. * * @param {object} options * @param {ColumnSource[]} options.columnData * @param {number | number[]} [options.rowGroupSize] * @param {number} [options.pageSize] * @returns {void | Promise<void>} */ write({ columnData, rowGroupSize, pageSize }: { columnData: ColumnSource[]; rowGroupSize?: number | number[] | undefined; pageSize?: number | undefined; }): void | Promise<void>; /** * Finish writing the file. * * @returns {void | Promise<void>} */ finish(): void | Promise<void>; } import type { Writer } from '../src/types.js'; import type { SchemaElement } from 'hyparquet'; import type { Compressors } from '../src/types.js'; import type { RowGroup } from 'hyparquet'; import type { PageIndexes } from '../src/types.js'; import type { ColumnSource } from '../src/types.js'; //# sourceMappingURL=parquet-writer.d.ts.map