SuperAPI AI 工具集

clickhouse-sdk-patterns

数据与分析

查看项目

更新于 10-15 22:42

技能介绍

用途:为 @clickhouse/client 提供生产级使用模式,包括类型化查询、流式插入、错误处理与连接生命周期管理。

主要能力:类型化查询辅助函数 query<T>,返回解析后的 JSON 行;背压安全的流式插入;带指数退避重试的批量插入(默认每批 1 万行,返回 { inserted, errors });以 AsyncGenerator 消费大结果集的流式 SELECT;区分服务端 ClickHouseError 与网络/客户端错误并归一化;通过 client.close() 在 SIGTERM 时刷新待处理插入,并提供基于 ping() 的健康检查;按查询覆盖 max_threads、max_memory_usage、max_execution_time、max_result_rows 等设置。

使用方式:需先安装并认证 @clickhouse/client,Node.js 18+,设置 CLICKHOUSE_HOST / CLICKHOUSE_USER / CLICKHOUSE_PASSWORD 环境变量,并熟悉 async/await 与 Node.js 流。核心骨架为 createClient 创建单例客户端,再用 query<T> 包装 client.query,format 使用 JSONEachRow。参数化查询须使用 ClickHouse 的 {name:Type} 语法而非 $1 或 ?,以防止 SQL 注入。

适用场景:构建需要处理大数据量插入与读取、控制内存占用、需要结构化错误处理与优雅关闭的 Node.js 应用。

限制:资料未提供具体版本兼容范围、性能基准或收费信息;完整代码位于 references/implementation.md 与 references/examples.md,正文仅给出骨架。