搜索快捷键 cmd + k | ctrl + k
- 安装
- 文档
- 入门
- 连接
- 数据导入
- 客户端 API
- 概览
- ADBC
- C
- C++
- CLI
- Dart
- Go
- Java (JDBC)
- Julia
- Node.js (已弃用)
- Node.js (Neo)
- ODBC
- PHP
- Python
- R
- Rust
- Swift
- Wasm
- SQL
- 介绍
- 语句
- 概览
- ANALYZE
- ALTER TABLE
- ALTER VIEW
- ATTACH 和 DETACH
- CALL
- CHECKPOINT
- COMMENT ON
- COPY
- CREATE INDEX
- CREATE MACRO
- CREATE SCHEMA
- CREATE SECRET
- CREATE SEQUENCE
- CREATE TABLE
- CREATE VIEW
- CREATE TYPE
- DELETE
- DESCRIBE
- DROP
- EXPORT 和 IMPORT DATABASE
- INSERT
- LOAD / INSTALL
- PIVOT
- 性能分析
- SELECT
- SET / RESET
- SET VARIABLE
- SUMMARIZE
- 事务管理
- UNPIVOT
- UPDATE
- USE
- VACUUM
- 查询语法
- SELECT
- FROM 和 JOIN
- WHERE
- GROUP BY
- GROUPING SETS
- HAVING
- ORDER BY
- LIMIT 和 OFFSET
- SAMPLE
- 展开嵌套
- WITH
- WINDOW
- QUALIFY
- VALUES
- FILTER
- 集合操作
- 预处理语句
- 数据类型
- 表达式
- 函数
- 概览
- 聚合函数
- 数组函数
- 位字符串函数
- Blob 函数
- 日期格式化函数
- 日期函数
- 日期部分函数
- 枚举函数
- 间隔函数
- Lambda 函数
- 列表函数
- 映射函数
- 嵌套函数
- 数值函数
- 模式匹配
- 正则表达式
- 结构体函数
- 文本函数
- 时间函数
- 时间戳函数
- 带时区时间戳函数
- 联合函数
- 实用函数
- 窗口函数
- 约束
- 索引
- 元查询
- DuckDB 的 SQL 方言
- 示例
- 配置
- 扩展
- 核心扩展
- 概览
- 自动补全
- Avro
- AWS
- Azure
- Delta
- DuckLake
- 编码
- Excel
- 全文搜索
- httpfs (HTTP 和 S3)
- Iceberg
- ICU
- inet
- jemalloc
- MySQL
- PostgreSQL
- 空间
- SQLite
- TPC-DS
- TPC-H
- UI
- VSS
- 指南
- 概览
- 数据查看器
- 数据库集成
- 文件格式
- 概览
- CSV 导入
- CSV 导出
- 直接读取文件
- Excel 导入
- Excel 导出
- JSON 导入
- JSON 导出
- Parquet 导入
- Parquet 导出
- 查询 Parquet 文件
- 使用 file: 协议访问文件
- 网络和云存储
- 概览
- HTTP Parquet 导入
- S3 Parquet 导入
- S3 Parquet 导出
- S3 Iceberg 导入
- S3 Express One
- GCS 导入
- Cloudflare R2 导入
- 通过 HTTPS / S3 使用 DuckDB
- Fastly 对象存储导入
- 元查询
- ODBC
- 性能
- Python
- 安装
- 执行 SQL
- Jupyter Notebooks
- marimo Notebooks
- Pandas 上的 SQL
- 从 Pandas 导入
- 导出到 Pandas
- 从 Numpy 导入
- 导出到 Numpy
- Arrow 上的 SQL
- 从 Arrow 导入
- 导出到 Arrow
- Pandas 上的关系型 API
- 多个 Python 线程
- 与 Ibis 集成
- 与 Polars 集成
- 使用 fsspec 文件系统
- SQL 编辑器
- SQL 功能
- 代码片段
- 故障排除
- 术语表
- 离线浏览
- 操作手册
- 开发
- 内部结构
- 为什么选择 DuckDB
- 行为准则
- 发布日历
- 路线图
- 站点地图
- 在线演示
文档 / 数据导入 / Parquet 文件
查询 Parquet 元数据
Parquet 元数据
parquet_metadata
函数可用于查询 Parquet 文件中包含的元数据,它揭示了 Parquet 文件的各种内部详细信息,例如不同列的统计数据。这对于确定 Parquet 文件中可能跳过哪些数据,甚至快速概览不同列所包含的内容都非常有用。
SELECT *
FROM parquet_metadata('test.parquet');
下面是 parquet_metadata
返回的列的表格。
字段 | 类型 |
---|---|
文件名 | VARCHAR |
行组 ID | BIGINT |
行组行数 | BIGINT |
行组列数 | BIGINT |
行组字节数 | BIGINT |
列 ID | BIGINT |
文件偏移量 | BIGINT |
值数量 | BIGINT |
模式中的路径 | VARCHAR |
类型 | VARCHAR |
统计最小 | VARCHAR |
统计最大 | VARCHAR |
统计空值计数 | BIGINT |
统计不同值计数 | BIGINT |
统计最小值 | VARCHAR |
统计最大值 | VARCHAR |
压缩 | VARCHAR |
编码 | VARCHAR |
索引页偏移量 | BIGINT |
字典页偏移量 | BIGINT |
数据页偏移量 | BIGINT |
总压缩大小 | BIGINT |
总未压缩大小 | BIGINT |
键值元数据 | MAP(BLOB, BLOB) |
布隆过滤器偏移量 | BIGINT |
布隆过滤器长度 | BIGINT |
最小精确 | BOOLEAN |
最大精确 | BOOLEAN |
Parquet 模式
parquet_schema
函数可用于查询 Parquet 文件中包含的内部模式。请注意,这是 Parquet 文件元数据中包含的模式。如果您想了解 Parquet 文件中包含的列名和类型,使用 DESCRIBE
会更容易。
获取列名和列类型
DESCRIBE SELECT * FROM 'test.parquet';
获取 Parquet 文件的内部模式
SELECT *
FROM parquet_schema('test.parquet');
下面是 parquet_schema
返回的列的表格。
字段 | 类型 |
---|---|
文件名 | VARCHAR |
名称 | VARCHAR |
类型 | VARCHAR |
类型长度 | VARCHAR |
重复类型 | VARCHAR |
子项数量 | BIGINT |
转换类型 | VARCHAR |
刻度 | BIGINT |
精度 | BIGINT |
字段 ID | BIGINT |
逻辑类型 | VARCHAR |
Parquet 文件元数据
parquet_file_metadata
函数可用于查询文件级元数据,例如格式版本和所使用的加密算法。
SELECT *
FROM parquet_file_metadata('test.parquet');
下面是 parquet_file_metadata
返回的列的表格。
字段 | 类型 |
---|---|
文件名 | VARCHAR |
创建者 | VARCHAR |
行数 | BIGINT |
行组数 | BIGINT |
格式版本 | BIGINT |
加密算法 | VARCHAR |
页脚签名密钥元数据 | VARCHAR |
Parquet 键值元数据
parquet_kv_metadata
函数可用于查询定义为键值对的自定义元数据。
SELECT *
FROM parquet_kv_metadata('test.parquet');
下面是 parquet_kv_metadata
返回的列的表格。
字段 | 类型 |
---|---|
文件名 | VARCHAR |
键 | BLOB |
值 | BLOB |
布隆过滤器
DuckDB 支持布隆过滤器,用于裁剪回答高选择性查询时需要读取的行组。目前,布隆过滤器支持以下类型:
- 整数类型:
TINYINT
,UTINYINT
,SMALLINT
,USMALLINT
,INTEGER
,UINTEGER
,BIGINT
,UBIGINT
- 浮点类型:
FLOAT
,DOUBLE
VARCHAR
BLOB
parquet_bloom_probe(filename, column_name, value)
函数显示了在使用布隆过滤器过滤给定列的给定值时,可以排除哪些行组。例如
FROM parquet_bloom_probe('my_file.parquet', 'my_col', 500);
文件名 | 行组 ID | 布隆过滤器排除 |
---|---|---|
my_file.parquet | 0 | true |
… | … | … |
my_file.parquet | 9 | false |