大家好,我做了个小玩意儿。
基于 ClickHouse 引擎的 Python 嵌入式数据库 chDB 。由于 ClickHouse 的强大功能,chDB 支持在几乎所有的数据文件格式上运行 SQL ,输出 60 多种格式。
特性
- 进程内 SQL OLAP 引擎,由 ClickHouse 提供支持
- 无需安装 ClickHouse
- 使用 python memoryview 最大限度地减少从 C++ 到 Python 的数据复制
- 输入和输出支持 Parquet 、CSV 、JSON 、Arrow 、ORC 和 更多
安装
目前,chDB 仅支持 macOS ( x86_64 和 ARM64 )和 Linux 上的 Python 3.7+。
pip install chdb
用法
目前 chDB 只支持query函数,用于执行 SQL ,返回想要的格式数据。
import chdb
res = chdb.query('select version()', 'CSV'); print(str(res.get_memview().tobytes()))
使用 Parquet 或 CSV 作为输出
chdb.query('select * from file("data.parquet", Parquet)', 'CSV')
chdb.query('select * from file("data.csv", CSV)', 'CSV')
Pandas 格式输出
chdb.query('select * from file("data.parquet", Parquet)', 'Dataframe')
Demos
Benchmark
Documentation
- For SQL syntax, please refer to ClickHouse SQL Reference