移植到 DuckDB 的 libmagic/file 实用程序
维护者: carlopi
安装和加载
INSTALL magic FROM community;
LOAD magic;
示例
--- Discover autodetected types for files in a local folder
SELECT magic_mime(file), magic_type(file), file
FROM glob('path/to/folder/**');
--- Discover autodetected types for a remote file
LOAD httpfs; --- this needs to currently be explcit once per session
SELECT magic_mime(file), magic_type(file), file
FROM glob('https://raw.githubusercontent.com/duckdb/duckdb/main/data/parquet-testing/adam_genotypes.parquet');
--- Read file without providing detail on type
FROM read_any('https://raw.githubusercontent.com/duckdb/duckdb/main/data/parquet-testing/adam_genotypes.parquet');
关于 magic
libmagic(为 file UNIX 实用程序提供支持)的非常实验性的端口,允许根据标头的内容,按照 libmagic 库对文件进行分类。与 magic 库的 5.45 版本打包。magic.mgc 数据库目前静态编译到库中,因此它在各个平台上是相同的,但不可变。目前在 Windows 和 Wasm 中不可用,因为存在不同但可能可以解决的 vc-packaging 问题,有待独立解决。
新增函数
function_name (函数名) | 函数类型 | description (描述) | comment (注释) | examples (示例) |
---|---|---|---|---|
magic_mime | 标量 | NULL | NULL | |
magic_type | 标量 | NULL | NULL | |
read_any | table_macro (表宏) | NULL | NULL |