SuperAPI AI 工具集

clickhouse-js-node-rowbinary-parser

编程与开发

查看项目

更新于 10-15 20:12

技能介绍

用途:生成读取并解码 ClickHouse HTTP 服务器 RowBinary 流的 TypeScript/JavaScript 代码。

主要能力:提供按类型族划分的读取器(整数、浮点、Decimal、String/FixedString、UUID、IP、日期时间、时间、Interval、Array/Map/Tuple/Nullable/Variant、Geo、Dynamic、JSON 等),支持流式与整缓冲两种读取方式,支持逐行对象或列式 typed array 输出,并可在类型运行时才确定时用 compileRowBinaryWithNamesAndTypes(cursor) 编译表头。

使用方式:默认生成 TypeScript;RowBinary 为小端,需用 DataView 并传 littleEndian=true。先写正确读取器再优化;流式用抛 NeedMoreData 哨兵并重启行,而非生成器;小块可用 coalesceChunks(source, { minSize, timeoutMs }) 合并;列式可用 streamSensorColumns。

适用场景:宽数值(Int128/Int256、Decimal128/256)、二进制/定宽(IPv4、IPv6、UUID、FixedString)、高吞吐定宽数值列;列式适合聚合/扫描/绘图或交给 Worker/WASM。

限制:JSON/CSV/TSV/Parquet 解析、连接错误与类型不匹配、浏览器/Worker/Edge 均不在范围内;共享 scratch 不可重入;类型已知时优先专用路径而非通用编译。具体性能数字与示例见资料,未提供收费与平台信息。