Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
El DESCRIBE HISTORY comando devuelve 14 columnas para tablas Apache, Iceberg y Delta Lake que describen la historia de las operaciones de tablas. Utiliza esta referencia para interpretar cada columna.
Para orientación sobre cómo recuperar el historial de tablas, consultar versiones anteriores de las tablas y restaurar una tabla, véase Trabajar con historial de tablas.
Esquema del historial
La salida de la operación history tiene las columnas siguientes.
| Columna | Tipo | Descripción |
|---|---|---|
| version | long |
La versión de la tabla generada por la operación. |
| timestamp | timestamp |
Cuándo se confirmó esta versión. |
| ID de usuario | string |
Identificador del usuario que ejecutó la operación. |
| userName | string |
Nombre del usuario que ejecutó la operación. |
| operation | string |
Nombre de la operación. |
| parámetros de operación | map |
Parámetros de la operación (por ejemplo, predicados). En el caso OPTIMIZE de las operaciones, estos parámetros identifican el tipo de operación. Consulte Identificación del tipo de OPTIMIZE operación. |
| trabajo | struct |
Detalles del trabajo de Lakeflow que ejecutó la operación. Rellena solo las confirmaciones escritas desde un trabajo de Lakeflow. En caso contrario, es null. |
| notebook | struct |
Detalles del cuaderno de Databricks desde el que se ejecutó la operación. Rellena solo las confirmaciones escritas desde un cuaderno de Databricks. En caso contrario, es null. |
| clusterId | string |
Identificador del clúster en el que se ejecutó la operación. |
| versión de lectura | long |
Versión de la tabla que se leyó para realizar la operación de escritura. |
| isolationLevel | string |
Nivel de aislamiento usado para esta operación. |
| isBlindAppend | boolean |
Indica si esta operación ha anexado datos. |
| operationMetrics | map |
Métricas de la operación (por ejemplo, número de filas y archivos modificados). |
| userMetadata | string |
Metadatos de confirmación definidos por el usuario si se especificó. |
+-------+-------------------+------+--------+---------+--------------------+----+--------+---------+-----------+-----------------+-------------+--------------------+
|version| timestamp|userId|userName|operation| operationParameters| job|notebook|clusterId|readVersion| isolationLevel|isBlindAppend| operationMetrics|
+-------+-------------------+------+--------+---------+--------------------+----+--------+---------+-----------+-----------------+-------------+--------------------+
| 5|2019-07-29 14:07:47| ###| ###| DELETE|[predicate -> ["(...|null| ###| ###| 4|WriteSerializable| false|[numTotalRows -> ...|
| 4|2019-07-29 14:07:41| ###| ###| UPDATE|[predicate -> (id...|null| ###| ###| 3|WriteSerializable| false|[numTotalRows -> ...|
| 3|2019-07-29 14:07:29| ###| ###| DELETE|[predicate -> ["(...|null| ###| ###| 2|WriteSerializable| false|[numTotalRows -> ...|
| 2|2019-07-29 14:06:56| ###| ###| UPDATE|[predicate -> (id...|null| ###| ###| 1|WriteSerializable| false|[numTotalRows -> ...|
| 1|2019-07-29 14:04:31| ###| ###| DELETE|[predicate -> ["(...|null| ###| ###| 0|WriteSerializable| false|[numTotalRows -> ...|
| 0|2019-07-29 14:01:40| ###| ###| WRITE|[mode -> ErrorIfE...|null| ###| ###| null|WriteSerializable| true|[numFiles -> 2, n...|
+-------+-------------------+------+--------+---------+--------------------+----+--------+---------+-----------+-----------------+-------------+--------------------+
Nota:
- Si escribe en una tabla con los métodos siguientes, algunas columnas no están disponibles:
- Las columnas agregadas en el futuro siempre se agregarán después de la última columna.
Descripción partitionBy de los parámetros de operación
El partitionBy campo del historial de tablas solo es significativo para las operaciones CREATE y OVERWRITE que definen o cambian el esquema de partición de una tabla.
Para las operaciones de anexión a tablas existentes (APPEND, INSERT, , UPDATEDELETE, MERGE), este campo podría mostrar una matriz [] vacía o columnas de partición en función del método de escritura usado (.save() frente .saveAsTable()a ).
Esta incoherencia es el comportamiento esperado y no afecta a cómo se escriben los datos en las particiones. No debe usarlo para validar las operaciones de anexión.
Ejemplo
Considere una tabla particionada por la columna date. Al crear la tabla, partitionBy se rellena:
df.write.format("delta") \
.partitionBy("date") \
.saveAsTable("sales_data")
La operación CREATE en el historial muestra:
operationParameters: {
"mode": "ErrorIfExists",
"partitionBy": "[\"date\"]"
}
Al anexar datos a esta tabla, partitionBy se muestra una matriz vacía:
new_df.write.format("delta") \
.mode("append") \
.saveAsTable("sales_data")
La operación APPEND muestra:
operationParameters: {
"mode": "Append",
"partitionBy": "[]"
}
Se espera el valor vacío partitionBy. Los datos se siguen escribiendo en las particiones correctas según el esquema de partición existente de la tabla. Tenga en cuenta que .save() para una ruta podría mostrar columnas de partición en este campo, pero esta diferencia es un detalle de implementación y no afecta al comportamiento al escribir.
Métricas de operación
La history operación devuelve una colección de métricas de operación en el operationMetrics mapa de columnas.
En las tablas siguientes, se muestran las definiciones de clave del mapa según la operación.
WRITE, CREATE TABLE AS SELECT, , REPLACE TABLE AS SELECT, COPY INTO
Las métricas siguientes están disponibles para estas operaciones:
| Nombre de la medida | Descripción |
|---|---|
numFiles |
Número de archivos escritos. |
numOutputBytes |
Tamaño en bytes del contenido escrito. |
numOutputRows |
Número de filas escritas. |
STREAMING UPDATE
Las métricas siguientes están disponibles para esta operación:
| Nombre de la medida | Descripción |
|---|---|
numAddedFiles |
Número de archivos agregados. |
numRemovedFiles |
Número de archivos eliminados. |
numOutputRows |
Número de filas escritas. |
numOutputBytes |
El tamaño de los bytes de escritura. |
DELETE
Las métricas siguientes están disponibles para esta operación:
| Nombre de la medida | Descripción |
|---|---|
numAddedFiles |
Número de archivos agregados. No se proporciona cuando se eliminan las particiones de la tabla. |
numRemovedFiles |
Número de archivos eliminados. |
numDeletedRows |
Número de filas eliminadas. No se proporciona cuando se eliminan las particiones de la tabla. |
numCopiedRows |
Número de filas copiadas en el proceso de eliminación de archivos. |
executionTimeMs |
Tiempo necesario para ejecutar toda la operación. |
scanTimeMs |
Tiempo necesario para examinar los archivos para buscar coincidencias. |
rewriteTimeMs |
Tiempo necesario para volver a escribir los archivos coincidentes. |
TRUNCATE
Las métricas siguientes están disponibles para esta operación:
| Nombre de la medida | Descripción |
|---|---|
numRemovedFiles |
Número de archivos eliminados. |
executionTimeMs |
Tiempo necesario para ejecutar toda la operación. |
MERGE
Las métricas siguientes están disponibles para esta operación:
| Nombre de la medida | Descripción |
|---|---|
numSourceRows |
Número de filas del dataframe de origen. |
numTargetRowsInserted |
Número de filas insertadas en la tabla de destino. |
numTargetRowsUpdated |
Número de filas actualizadas en la tabla de destino. |
numTargetRowsDeleted |
Número de filas eliminadas en la tabla de destino. |
numTargetRowsCopied |
Número de filas de destino copiadas. |
numOutputRows |
Número total de filas escritas. |
numTargetFilesAdded |
El número de archivos añadidos al sumidero (destino). |
numTargetFilesRemoved |
El número de archivos eliminados del sumidero (destino). |
executionTimeMs |
Tiempo necesario para ejecutar toda la operación. |
scanTimeMs |
Tiempo necesario para examinar los archivos para buscar coincidencias. |
rewriteTimeMs |
Tiempo necesario para volver a escribir los archivos coincidentes. |
UPDATE
Las métricas siguientes están disponibles para esta operación:
| Nombre de la medida | Descripción |
|---|---|
numAddedFiles |
Número de archivos agregados. |
numRemovedFiles |
Número de archivos eliminados. |
numUpdatedRows |
Número de filas actualizadas. |
numCopiedRows |
Número de filas que se acaban de copiar durante el proceso de actualización de archivos. |
executionTimeMs |
Tiempo necesario para ejecutar toda la operación. |
scanTimeMs |
Tiempo necesario para examinar los archivos para buscar coincidencias. |
rewriteTimeMs |
Tiempo necesario para volver a escribir los archivos coincidentes. |
FSCK
Las métricas siguientes están disponibles para esta operación:
| Nombre de la medida | Descripción |
|---|---|
numRemovedFiles |
Número de archivos eliminados. |
CONVERT
Las métricas siguientes están disponibles para esta operación:
| Nombre de la medida | Descripción |
|---|---|
numConvertedFiles |
Número de archivos Parquet que se han convertido. |
OPTIMIZE
Las métricas siguientes están disponibles para esta operación:
| Nombre de la medida | Descripción |
|---|---|
numAddedFiles |
Número de archivos agregados. |
numRemovedFiles |
Número de archivos optimizados. |
numAddedBytes |
Número de bytes agregados después de optimizar la tabla. |
numRemovedBytes |
Número de bytes quitados. |
minFileSize |
Tamaño del archivo más pequeño después de optimizar la tabla. |
p25FileSize |
El tamaño del archivo del percentil 25 después de optimizar la tabla. |
p50FileSize |
Tamaño medio del archivo después de optimizar la tabla. |
p75FileSize |
El tamaño del archivo correspondiente al percentil 75 tras la optimización de la tabla. |
maxFileSize |
Tamaño del archivo más grande después de optimizar la tabla. |
CLONE
Las métricas siguientes están disponibles para esta operación:
| Nombre de la medida | Descripción |
|---|---|
sourceTableSize |
Tamaño en bytes de la tabla de origen en la versión clonada. |
sourceNumOfFiles |
Número de archivos de la tabla de origen en la versión que se clona. |
numRemovedFiles |
Número de archivos quitados de la tabla de destino si se reemplazó una tabla anterior. |
removedFilesSize |
Tamaño total en bytes de los archivos quitados de la tabla de destino si se reemplazó una tabla anterior. |
numCopiedFiles |
Número de archivos que se copiaron en la nueva ubicación. 0 para clones superficiales. |
copiedFilesSize |
Tamaño total en bytes de los archivos que se copiaron en la nueva ubicación. 0 para clones superficiales. |
RESTORE
Las métricas siguientes están disponibles para esta operación:
| Nombre de la medida | Descripción |
|---|---|
tableSizeAfterRestore |
Tamaño de tabla en bytes después de la restauración. |
numOfFilesAfterRestore |
Número de archivos de la tabla después de la restauración. |
numRemovedFiles |
Número de archivos eliminados por la operación de restauración. |
numRestoredFiles |
Número de archivos que se agregaron como resultado de la restauración. |
removedFilesSize |
Tamaño en bytes de archivos quitados por la restauración. |
restoredFilesSize |
Tamaño en bytes de archivos agregados por la restauración. |
VACUUM
Las métricas siguientes están disponibles para esta operación:
| Nombre de la medida | Descripción |
|---|---|
numDeletedFiles |
Número de archivos eliminados. |
numVacuumedDirectories |
Número de directorios vacíos. |
numFilesToDelete |
Número de archivos que se van a eliminar. |