Todos los productos
Search
Centro de documentos

Realtime Compute for Apache Flink:Paimon system tables

Última actualización: Sep 03, 2026

Apache Paimon utiliza tablas del sistema para exponer metadatos e información sobre el consumo de datos de cada tabla de Paimon. Consulte estas tablas mediante SQL para inspeccionar instantáneas, historial de esquemas, particiones, archivos y etiquetas, o bien para consumir datos de cambios de manera más eficiente.

Las tablas del sistema se dividen en dos categorías:

  • Tablas de metadatos: snapshots, schemas, options, partitions, files, tags

  • Tablas de consumo de datos: tabla optimizada para lectura, tabla de registro de auditoría

Tablas de metadatos

Tabla snapshots

La tabla snapshots ($snapshots) registra información sobre cada instantánea, incluido su ID, fecha de creación y recuentos de registros.

SELECT * FROM mycatalog.mydb.`mytbl$snapshots`;

Columna

Tipo de dato

Descripción

snapshot_id

Long

ID de la instantánea.

schema_id

Long

ID del esquema que utiliza esta instantánea. Cruce esta información con la tabla schemas para obtener las definiciones de los campos.

commit_time

Timestamp

Hora en que se creó la instantánea.

total_record_count

Long

Total de registros en los archivos de datos a los que apunta esta instantánea.

delta_record_count

Long

Registros agregados en comparación con la instantánea anterior.

changelog_record_count

Long

Registros de changelog generados en comparación con la instantánea anterior.

total_record_count no refleja el recuento lógico de registros en la tabla de Paimon. Los archivos de datos se compactan en memoria antes de capturarse en una instantánea.

Tabla schemas

La tabla schemas ($schemas) registra cada versión del esquema de una tabla de Paimon. Cada vez que modifica el esquema mediante ALTER TABLE, CREATE TABLE AS o CREATE DATABASE AS, se escribe un nuevo registro en esta tabla.

SELECT * FROM mycatalog.mydb.`mytbl$schemas`;

Columna

Tipo de dato

Descripción

schema_id

Long

ID de la versión del esquema.

fields

String

Nombre y tipo de dato de cada columna.

partition_keys

String

Nombre de la clave de partición.

primary_keys

String

Nombre de la clave primaria.

options

String

Valores actuales de las opciones de la tabla.

comment

String

Comentario sobre la tabla.

update_time

Timestamp

Hora de la última modificación del esquema.

Tabla options

La tabla options ($options) muestra la configuración actual de todas las opciones de tabla establecidas explícitamente.

SELECT * FROM mycatalog.mydb.`mytbl$options`;

Columna

Tipo de dato

Descripción

key

String

Nombre de la opción de la tabla.

value

String

Valor de la opción de la tabla.

Las opciones que no aparecen en esta tabla utilizan sus valores predeterminados.

Tabla partitions

La tabla partitions ($partitions) muestra las particiones de una tabla de Paimon junto con sus recuentos de registros y tamaños totales de archivo.

SELECT * FROM mycatalog.mydb.`mytbl$partitions`;

Columna

Tipo de dato

Descripción

partition

String

Partición en formato [partition value 1, partition value 2, ...].

record_count

Long

Total de registros en la partición.

file_size_in_bytes

Long

Tamaño total de los archivos en la partición, en bytes. Solo se cuentan los archivos de datos de la instantánea actual.

record_count no refleja el recuento lógico de registros. Los archivos de datos se compactan en memoria antes de capturarse en una instantánea.

Tabla files

La tabla files ($files) enumera todos los archivos de datos a los que apunta la instantánea actual, incluido su formato, recuento de registros y tamaño.

Consulte los archivos de la instantánea más reciente:

SELECT * FROM mycatalog.mydb.`mytbl$files`;

Consulte los archivos de una instantánea específica (por ejemplo, la instantánea con ID 5):

SELECT * FROM mycatalog.mydb.`mytbl$files` /*+ OPTIONS('scan.snapshot-id'='5') */;

Columna

Tipo de dato

Descripción

partition

String

Partición que contiene el archivo, en formato [partition value 1, partition value 2, ...].

bucket

Integer

Bucket que contiene el archivo. Aplica únicamente a tablas de clave primaria que usan modo de bucket fijo.

file_path

String

Ruta del archivo.

file_format

String

Formato del archivo.

schema_id

Long

ID del esquema que utiliza este archivo. Cruce esta información con la tabla schemas para obtener las definiciones de los campos.

level

Integer

Nivel LSM (log-structured merge-tree) del archivo. Aplica únicamente a tablas de clave primaria. Un valor de 0 indica un archivo pequeño; supervise esta columna para rastrear el progreso de compactación en un bucket.

record_count

Long

Número de registros en el archivo.

file_size_in_bytes

Long

Tamaño del archivo, en bytes.

La tabla files solo abarca los archivos de datos de la instantánea consultada. No se incluyen los archivos de datos históricos a los que dicha instantánea no hace referencia.

Tabla tags

La tabla tags ($tags) registra información sobre las etiquetas, incluida la instantánea asociada a cada una.

SELECT * FROM mycatalog.mydb.`mytbl$tags`;

Columna

Tipo de dato

Descripción

tag_name

String

Nombre de la etiqueta.

snapshot_id

Long

ID de la instantánea asociada a la etiqueta.

schema_id

Long

ID del esquema que utiliza la etiqueta. Cruce esta información con la tabla schemas para obtener las definiciones de los campos.

commit_time

Timestamp

Hora en que se creó la instantánea asociada.

record_count

Long

Número de registros en los archivos de datos.

Tablas de consumo de datos

Tabla optimizada para lectura

Si utiliza una tabla de clave primaria y desea mejorar la eficiencia de lecturas por lotes o consultas OLAP ad hoc, puede consumir datos desde la tabla optimizada para lectura ($ro). A diferencia de una consulta directa a la tabla, que compacta los archivos de datos en memoria antes de devolver resultados, $ro omite ese paso al escanear únicamente archivos ya compactados. Esto elimina la sobrecarga de compactación y acelera las lecturas, aunque es posible que los resultados no incluyan los archivos pequeños sin compactar más recientes.

Para compactar archivos pequeños a intervalos regulares y equilibrar el throughput de escritura, el rendimiento de lectura y la latencia de datos, configure el siguiente parámetro:

Parámetro

Tipo de dato

Predeterminado

Descripción

compaction.optimization-interval

Duration

Ninguna

Intervalo en el que se compactan los archivos pequeños. Establezca este valor en más de 30 min para evitar afectar el throughput de escritura.

SELECT * FROM mycatalog.mydb.`mytbl$ro`;

Tabla de registro de auditoría

Utilice la tabla de registro de auditoría ($audit_log) cuando necesite rastrear el tipo exacto de operación detrás de cada registro; por ejemplo, para depurar cambios inesperados en los datos o crear canalizaciones descendentes de datos de cambios.

En comparación con la tabla original, la tabla de registro de auditoría inserta una columna rowkind al inicio de cada registro para indicar el tipo de operación:

**Valor de rowkind**

Operación

+I

Inserción

-U

Actualización (antes)

+U

Actualización (después)

-D

Eliminación

Todos los registros devueltos por la tabla de registro de auditoría tienen un rowkind de +I (inserción), ya que la tabla en sí solo agrega registros.

SELECT * FROM mycatalog.mydb.`mytbl$audit_log`;

Referencias

Para consultar la estructura completa de cada tabla del sistema, consulte la documentación de Apache Paimon.