前言
在对一些大型 CSV 数据进行数据分析和处理时,如果使用 Excel 工具,有时候会非常的卡顿(如下图开始转圈),而且影响效率。
这时,我想要一个快速简易且简单的分析工具,DuckDB 从脑海中一闪而过,第一次接触还是 Github Trend 上
那么 DuckDB 是什么呢?DuckDB是一个内存 OLAP 数据库,快速,特性丰富且开源支持,在 6 月终于发布了 1.0.0 版本
简易使用
安装
安装就不多说了,支持 homebrew,对于 Mac 用户非常友好
brew install duckdb
Running `brew update --auto-update`...
==> Auto-updated Homebrew!
Updated 2 taps (shivammathur/php and homebrew/core).
==> New Formulae
awsdac llgo
==> Fetching duckdb
==> Downloading https://mirrors.aliyun.com/homebrew/homebrew-bottles/duckdb-1.0.0.arm64_sonoma.bottle.tar.gz
############################################################################################################################### 100.0%
==> Pouring duckdb-1.0.0.arm64_sonoma.bottle.tar.gz
/opt/homebrew/Cellar/duckdb/1.0.0: 1,115 files, 141.6MB
==> Running `brew cleanup duckdb`...
Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP.
Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`).
复制代码
看到最终的大小只有 100+M,对于其他数据库的大小是非常精简的存在。
加载数据
加载数据非常简单,只需要一个 CREATE TABLE 语句,并将文件引入即可,无论是本地还是远端数据都可以轻松加载。
聚合查询
查询销量最高的 Top10 商品 ID。
连表查询
拓展支持
可以安装拓展,支持特定场景的数据分析,例如官方实例中关于空间距离的计算。
甚至,它可以通过加载向量拓展,变成一个向量数据库用于 AI 知识库的构建。
从 S3 Parquet 读取记录
结语
对于本地数据分析来说,DuckDB 是一个非常高效的工具,可以连表查询多个 CSV 文件,对于分析销售报告、风控报告等十分有用。
评论