主要特性
- Pandas 兼容性:209 个 pandas DataFrame 方法、56 个
.str方法、42+ 个.dt方法 - SQL 优化:操作会自动编译为优化后的 SQL 查询
- 惰性求值:操作会延迟到需要结果时才执行
- 630+ 个 API 方法:提供全面的数据操作 API
- ClickHouse 扩展:提供 pandas 中没有的额外访问器 (
.arr、.json、.url、.ip、.geo)
架构
- 惰性操作链:操作会被记录下来,而不是立即执行
- 智能引擎选择:QueryPlanner 会将各个阶段分发到最合适的引擎 (SQL 使用 chDB,复杂操作使用 Pandas)
- 中间结果缓存:每一步的结果都会被缓存,以便快速进行迭代探索
从 Pandas 进行一行代码迁移
性能对比
基于 1000 万行的基准测试。详见基准测试脚本和性能指南。
何时使用 DataStore
- 处理大型数据集 (数百万行)
- 执行聚合和 groupby 操作
- 从文件、数据库或云存储查询数据
- 构建复杂的数据管道
- 你希望获得 pandas API 的易用性和更好的性能
- 你更喜欢直接编写 SQL
- 你需要对查询执行进行细粒度控制
- 需要使用 pandas API 未提供的 ClickHouse 特性
特性对比
API 统计信息
开始使用
- 快速入门 - 安装和基本用法
- 从 Pandas 迁移 - 分步迁移指南
API 参考文档
- 工厂方法 - 从各种来源创建 DataStore
- 查询构建 - SQL 风格的查询操作
- Pandas 兼容性 - 全部 209 个兼容 pandas 的方法
- 访问器 - String、DateTime、Array、JSON、URL、IP、Geo 访问器
- 聚合 - 聚合函数和窗口函数
- I/O 操作 - 读写数据
高级主题
配置与调试
Pandas 用户指南
- Pandas Cookbook - 常见用法
- Key Differences - 与 pandas 的主要区别
- 性能指南 - 优化技巧
- SQL for Pandas Users - 了解 pandas 操作背后的 SQL