datapilot-cli
Version:
Enterprise-grade streaming multi-format data analysis with comprehensive statistical insights and intelligent relationship detection - supports CSV, JSON, Excel, TSV, Parquet - memory-efficient, cross-platform
67 lines • 1.91 kB
TypeScript
/**
* Parquet Parser Implementation
* Supports .parquet files using hyparquet library
*/
import type { ParsedRow, ParseOptions, FormatDetectionResult, FormatDetector } from './base/data-parser';
import { BaseParser } from './base/data-parser';
interface ParquetMetadata {
numRows: number;
schema: any;
columnNames: string[];
fileSize: number;
compressionType?: string;
rowGroups: number;
}
/**
* Parquet Format Detector
*/
export declare class ParquetDetector implements FormatDetector {
getSupportedExtensions(): string[];
getFormatName(): string;
detect(filePath: string): Promise<FormatDetectionResult>;
private readParquetMetadata;
}
/**
* Parquet Parser Implementation
*/
export declare class ParquetParser extends BaseParser {
private headers;
private metadata;
getSupportedExtensions(): string[];
getFormatName(): string;
detect(filePath: string): Promise<FormatDetectionResult>;
parse(filePath: string, options?: ParseOptions): AsyncIterableIterator<ParsedRow>;
private readFileMetadata;
private formatValue;
/**
* Get detected headers for column mapping
*/
getHeaders(): string[];
/**
* Get Parquet file metadata
*/
getMetadata(): ParquetMetadata | null;
/**
* Get schema information from Parquet file
*/
getSchema(filePath: string): Promise<any>;
/**
* Get row group information for optimization
*/
getRowGroups(filePath: string): Promise<Array<{
index: number;
numRows: number;
totalByteSize: number;
columns: Array<{
name: string;
type: string;
compression: string;
}>;
}>>;
}
/**
* Factory function to create Parquet parser
*/
export declare function createParquetParser(options?: ParseOptions): ParquetParser;
export {};
//# sourceMappingURL=parquet-parser.d.ts.map