最近在折腾一个叫 DuckDB 的玩意儿,越用越觉得它把"轻量"这件事做到了极致。严格来说以前碰到几千万行的 csv 或 parquet,我第一反应是开 Spark 或者搭 Postgres,光配环境起服务就耗掉大半天。DuckDB 直接 pip install duckdb,就能在 Python 进程里跑标准 SQL,读 parquet、csv 跟喝水一样。它底层是列式存储加向量化执行,官方 benchmark 里对上亿行做聚合能压到秒级,单机表现已逼近 Spark。我拿一份三千多万行的日志试了下 group by,笔记本风扇都没怎么转就出结果了。最顺手的是跟 Pandas 双向打通,查询结果直接变 DataFrame,反过来也能把 DataFrame 丢进去当表查,探索数据比写一串链式 Pandas 直观太多。说白了它就是个嵌在进程里的分析型数据库,没 server、没运维、单文件带着走。当然它只做分析查询,高并发写入那套还得交给别家。中小体量数据的活儿,真心推荐试试,省下的时间够多听两首歌了。
✦ 发帖赚糊涂币【开源有益】版面系数 ×1.2
神品×2.0极品×1.6上品×1.3中品×1.0下品×0.6劣品×0.1
AI六维评分 — 发帖可获HTC
✦ AI六维评分 · 上品 78分 · HTC +0.00
原创82
连贯90
密度88
情感75
排版65
主题45
评分数据来自首帖已落库的真实六维分数。