公司动态
DuckDB 完整指南:快速搭建嵌入式分析型数据库,从第一条查询到 Python 集成
DuckDB 完整指南快速搭建嵌入式分析型数据库从第一条查询到 Python 集成【免费下载链接】duckdbDuckDB is an analytical in-process SQL database management system项目地址: https://gitcode.com/GitHub_Trending/du/duckdbDuckDB 是一款进程内运行的嵌入式分析型数据库OLAP直接跑在你的应用进程里无需维护独立服务器。它瞄准的是本地文件想跑 SQL却不想搭一套重型服务的痛点——一个二进制就能对 CSV、Parquet 和内存数据做分析方言上还自带嵌套相关子查询、窗口函数、排序规则和数组/结构/映射等复杂类型。进程内、零运维像库一样嵌入没有网络开销、没有账号和集群要管本地分析即开即用列式 向量化执行多线程并行天然适合聚合、扫描与窗口计算分析性能接近专用 OLAP 系统SQL 方言友好支持传统系统里不好写的高级语法分析师上手成本很低 三步构建 DuckDB从克隆到第一条查询环境只需备齐三样C17 编译器、CMake 和 Python 3。准备好之后在终端执行git clone https://gitcode.com/GitHub_Trending/du/duckdb cd duckdb make release编译完成后用./build/release/bin/duckdb拉起 CLI写下你的第一条查询——建一张小表、塞几行数据顺手做一次聚合CREATE TABLE sales (region VARCHAR, amount INT); INSERT INTO sales VALUES (东区, 1200), (西区, 860); SELECT region, SUM(amount) AS total FROM sales GROUP BY region;到这里构建 → 启动 → 查询的闭环就跑通了后续所有 SQL 都可以直接在这个 CLI 里敲。 DuckDB 连接 pandas 的最快方式直接在 DataFrame 上跑 SQL这个组合值得先试一次DataFrame 本身做不了多表关联和窗口计算而把它注册进 DuckDB 后立刻获得完整 SQL 能力结果还能直接变回 DataFrame全程没有序列化开销也不用起任何服务。import pandas as pd, duckdb df pd.DataFrame({team: [A, B, A], score: [88, 95, 72]}) con duckdb.connect() con.register(team_scores, df) print(con.execute(SELECT team, AVG(score) m FROM team_scores GROUP BY team).df())几个实用提醒内存模式下连接一关数据就没了长任务建议传文件路径或让连接对象存活下来大数据集先做过滤和列裁剪再聚合全表扫描既慢又吃内存内存吃紧时可用 PRAGMA 调整memory_limit和threads匹配机器配置DuckDB 生态速览顺手省力的配套项目项目作用一句话说明链接dbt-duckdbdbt 适配器在 DuckDB 上直接跑 dbt 转换工作流DuckDB 官方文档duckdb-rR 客户端在 R 里查询 DuckDB并能和 dplyr 协同DuckDB 官方文档duckdb_awsAWS 接口直连 S3 等云存储做数据分析DuckDB 官方文档duckdb-web在线工具浏览器里跑 DuckDB 查询快速验证数据DuckDB 官方文档四个组合起来基本覆盖了 R/Python 用户、dbt 流水线、AWS 云端这三类最常见的需求按需取用即可不必重复造轮子。下一步想深入 SQL 方言、构建体系与测试流程建议从仓库内的 README 和 CONTRIBUTING 指南 读起熟悉之后可以试试 benchmark 基准测试套件亲自看看 DuckDB 在真实分析负载下的表现。【免费下载链接】duckdbDuckDB is an analytical in-process SQL database management system项目地址: https://gitcode.com/GitHub_Trending/du/duckdb创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考