更新时间:2026-10-09 GMT+08:00
分享

查询Paimon表数据

批量查询

Paimon的批量读取返回表快照中的所有数据。默认返回最新快照。

SELECT * FROM my_table; 

Metadata Columns

Paimon支持读取隐藏的元数据列:

元数据列

说明

__paimon_file_path

记录所在数据文件的路径。

__paimon_partition

记录的分区值。

__paimon_bucket

记录的桶号。

__paimon_row_index

记录在数据文件中的行索引。

SELECT *, __paimon_file_path, __paimon_partition, __paimon_bucket, __paimon_row_index FROM t; 

注意:只有append-only表或deletion vector表支持查询元数据列。

时间旅行

-- 按快照ID查询
SELECT * FROM t VERSION AS OF 1;  
-- 按时间戳查询
SELECT * FROM t TIMESTAMP AS OF '2023-06-01 00:00:00.123';  
-- 按Tag查询
SELECT * FROM t VERSION AS OF 'my-tag'; 

增量查询

-- 读取快照12到20之间的增量数据
SELECT * FROM paimon_incremental_query('tableName', 12, 20);  
-- 读取时间戳之间的增量数据
SELECT * FROM paimon_incremental_between_timestamp('tableName', '2025-03-12 00:00:00', '2025-03-12 00:08:00'); 

查询优化

建议在查询时指定分区和主键过滤条件,以加速数据跳过。支持的过滤函数:

  • =、<、<=、>、>=
  • IN (...)
  • LIKE 'abc%'
  • IS NULL

Paimon依据主键对数据进行排序,从而优化点查询与范围查询的性能。在使用复合主键时,建议查询条件尽量匹配主键的最左前缀,以提升查询效率。

相关文档