UNPKG

@dobesv/parquets

Version:

TypeScript implementation of the Parquet file format, based on parquet.js

47 lines (46 loc) 1.36 kB
/// <reference types="node" /> /// <reference types="node" /> import { ParquetSchema } from './schema'; import { RowGroup } from './thrift'; import { ParquetWriteBuffer } from './shred'; export interface ParquetWriterOptions { baseOffset?: number; rowGroupSize?: number; pageSize?: number; useDataPageV2?: boolean; flags?: string; encoding?: BufferEncoding; fd?: number; mode?: number; autoClose?: boolean; start?: number; } /** * Parquet File Magic String */ export declare const PARQUET_MAGIC = "PAR1"; /** * Parquet Version */ export declare const PARQUET_VERSION = 1; /** * Default Page and Row Group sizes */ export declare const PARQUET_DEFAULT_PAGE_SIZE = 8192; export declare const PARQUET_DEFAULT_ROW_GROUP_SIZE = 4096; /** * Repetition and Definition Level encodings */ export declare const PARQUET_RDLVL_TYPE = "INT32"; export declare const PARQUET_RDLVL_ENCODING = "RLE"; /** * Encode a list of column values into a parquet row group */ export declare function encodeRowGroup(schema: ParquetSchema, data: ParquetWriteBuffer, opts: ParquetWriterOptions): { body: Buffer; metadata: RowGroup; }; /** * Encode a parquet file metadata footer */ export declare function encodeFooter(schema: ParquetSchema, rowCount: number, rowGroups: RowGroup[], userMetadata: Record<string, string>): Buffer;