将 DuckDB 与 PowerBI 配合使用
from 将 DuckDB 与 PowerBI 结合使用 – 小数据和自助服务 (datamonkeysite.com)
DuckDB 是市场上最有前途的 OLAP 引擎之一,它是开源的,非常轻量级,几乎没有依赖关系和进程内工作(想想好的 Old MS Access),而且速度非常快,尤其是在读取和查询 parquet 文件方面。并具有惊人的 SQL 支持
ODBC 驱动程序变得越来越稳定,我认为这是一个使用 PowerBI 测试它的机会,请注意 JDBC 始终受支持并且可以与 DBeaver 等 SQL 前端一起使用,显然 Python 和 R 具有本机集成
我使用最新版本 0.3.3 下载 ODBC 驱动程序,您需要始终检查最新版本并确保它是正确的文件。
安装二进制文件很简单,但不幸的是,您需要成为管理员
配置 PowerBI
选择 ODBC,如果驱动程序安装正确,您应该会看到 DuckDB 的条目
在撰写本文时,驱动程序中存在一个错误,如果将路径添加到 DuckDB 数据库文件,驱动程序将无法识别其中的表和视图,而是我选择了
database=:memory:
并将基表定义为 CTE,直接从镶木地板文件的文件夹中读取
压缩后的总大小为 30 GB。
笔记本电脑中的 10 亿行
下面是 PowerBI 中的结果
PowerBI 报表的大小仅为 48 KB,因为我只导入查询结果,而不是整个 30 GB 的数据,是的,在这种情况下,存储和计算的分离很有意义。
尽管本博客中的 POC 只是为了好玩,但使用 PowerBI 中的 ODBC 驱动程序(仍处于 Alpha 阶段)进行查询需要 70 秒,使用 dbeaver 的相同查询需要 19 秒,使用更成熟的 JDBC 驱动程序,并且它仅适用于导入,对于 Direct Query,您需要自定义连接器并使用网关, 但我看到了很大的潜力。
有很多人在做非常有趣的场景,比如只用Parquet构建极快、便宜的ETL流水线,运行在云上的DuckDB函数。我想在未来几年里,我们会听到更多关于 DuckDB 的信息。