UNPKG

parquets

Version:

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

48 lines (47 loc) 1.69 kB
export declare type ParquetCodec = 'PLAIN' | 'RLE'; export declare type ParquetCompression = 'UNCOMPRESSED' | 'GZIP' | 'SNAPPY' | 'LZO' | 'BROTLI' | 'LZ4'; export declare type RepetitionType = 'REQUIRED' | 'OPTIONAL' | 'REPEATED'; export declare type ParquetType = PrimitiveType | OriginalType; export declare type PrimitiveType = 'BOOLEAN' | 'INT32' | 'INT64' | 'INT96' | 'FLOAT' | 'DOUBLE' | 'BYTE_ARRAY' | 'FIXED_LEN_BYTE_ARRAY'; export declare type OriginalType = 'UTF8' | 'DATE' | 'TIME_MILLIS' | 'TIME_MICROS' | 'TIMESTAMP_MILLIS' | 'TIMESTAMP_MICROS' | 'UINT_8' | 'UINT_16' | 'UINT_32' | 'UINT_64' | 'INT_8' | 'INT_16' | 'INT_32' | 'INT_64' | 'JSON' | 'BSON' | 'INTERVAL'; export interface SchemaDefinition { [string: string]: FieldDefinition; } export interface FieldDefinition { type?: ParquetType; typeLength?: number; encoding?: ParquetCodec; compression?: ParquetCompression; optional?: boolean; repeated?: boolean; fields?: SchemaDefinition; } export interface ParquetField { name: string; path: string[]; key: string; primitiveType?: PrimitiveType; originalType?: OriginalType; repetitionType: RepetitionType; typeLength?: number; encoding?: ParquetCodec; compression?: ParquetCompression; rLevelMax: number; dLevelMax: number; isNested?: boolean; fieldCount?: number; fields?: Record<string, ParquetField>; } export interface ParquetBuffer { rowCount?: number; columnData?: Record<string, ParquetData>; } export interface ParquetData { dlevels: number[]; rlevels: number[]; values: any[]; count: number; } export interface ParquetRecord { [key: string]: any; }