⌘+k ctrl+k
1.3 (稳定版)
搜索快捷键 cmd + k | ctrl + k
使用 fsspec 文件系统

DuckDB 对 fsspec 文件系统的支持允许查询 DuckDB 的 httpfs 扩展不支持的文件系统中的数据。fsspec 拥有大量的内置文件系统,并且也有许多外部实现。此功能仅在 DuckDB 的 Python 客户端中可用,因为 fsspec 是一个 Python 库,而 httpfs 扩展则在许多 DuckDB 客户端中可用。

示例

以下是使用 fsspec 查询 Google Cloud Storage 中文件的示例(而不是使用其兼容 S3 的 API)。

首先,您必须安装 duckdbfsspec,以及您选择的文件系统接口。

pip install duckdb fsspec gcsfs

然后,您可以注册您希望查询的任何文件系统

import duckdb
from fsspec import filesystem

# this line will throw an exception if the appropriate filesystem interface is not installed
duckdb.register_filesystem(filesystem('gcs'))

duckdb.sql("SELECT * FROM read_csv('gcs:///bucket/file.csv')")

这些文件系统并非用 C++ 实现,因此,它们的性能可能无法与 httpfs 扩展提供的文件系统相媲美。另外值得注意的是,由于它们是第三方库,可能包含我们无法控制的错误。