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.
Use el REORG comando cuando necesite volver a escribir parte de una tabla Delta para un objetivo de mantenimiento específico. En Fabric, REORG reorganiza el diseño físico de una tabla mediante la reescritura de archivos de datos o la actualización de metadatos de tabla, en función de la opción que elija.
REORG es diferente de la compactación de archivos rutinaria. Tiene como destino escenarios como la eliminación física de filas que eliminan vectores marcados como eliminados.
Qué hace REORG
REORG TABLE vuelve a escribir el estado de la tabla para una operación de mantenimiento definida.
-
APPLY (PURGE)reescribe los archivos de datos afectados para que las filas eliminadas temporalmente a través de vectores de eliminación se quiten físicamente de los archivos Parquet subyacentes.
Utilice REORG cuando necesite un resultado de reescritura específico, no solo archivos más pequeños o menos archivos.
Use PURGE para eliminar físicamente las filas eliminadas lógicamente
Los vectores de eliminación permiten a Delta Lake marcar las filas como eliminadas sin volver a escribir de inmediato los archivos Parquet originales. Ese comportamiento mantiene eficientes las operaciones de eliminación, pero los datos de fila eliminados siguen existiendo en los archivos físicos hasta que los reescriba.
Al ejecutar REORG TABLE ... APPLY (PURGE), Fabric reescribe los archivos afectados y quita las filas eliminadas temporalmente de los archivos Parquet activos. Después de que PURGE finalice, esas filas eliminadas realmente han desaparecido de los archivos reescritos.
Note
PURGE normalmente no es necesario como un paso de mantenimiento independiente.
OPTIMIZE elimina automáticamente los archivos en los que más del 5 % de los registros están referenciados por vectores de eliminación durante la compactación. Reserve PURGE para escenarios en los que necesite un control explícito sobre cuándo se quitan físicamente las filas eliminadas temporalmente.
Esta opción es especialmente útil cuando:
- Tiene requisitos de cumplimiento o del RGPD y necesita que los datos eliminados se eliminen físicamente conforme a un calendario específico.
- Quiere forzar la purga de archivos que se encuentran por debajo del umbral de 5% que
OPTIMIZEusa.
Revisión de la sintaxis
Use los ejemplos siguientes en un cuaderno de Fabric.
Purga de filas eliminadas temporalmente de una tabla
Purgar filas eliminadas temporalmente solo para los datos coincidentes
Use una WHERE cláusula cuando quiera tener como destino particiones específicas o un segmento de datos más pequeño.
Elegir REORG o OPTIMIZE
REORG y OPTIMIZE resuelven diferentes problemas.
-
OPTIMIZErealiza la compactación de contenedores. Consolida archivos pequeños en archivos más grandes para mejorar la eficacia del examen. -
REORG ... APPLY (PURGE)elimina físicamente las filas que los vectores de eliminación marcaron como eliminadas.
Puede usar ambos comandos juntos. Por ejemplo, puede ejecutar REORG ... APPLY (PURGE) para quitar físicamente los datos eliminados y, a continuación, ejecutar OPTIMIZE para mejorar el diseño del archivo.
Comprender los vectores de eliminación
Los vectores de eliminación son estructuras de metadatos que marcan filas como eliminadas sin volver a escribir inmediatamente los archivos Parquet que contienen esas filas. Los lectores respetan los vectores de eliminación, por lo que las filas eliminadas no aparecen en los resultados de la consulta, pero los bytes siguen estando en el almacenamiento hasta que se produzca una reescritura.
REORG ... APPLY (PURGE) es el paso que elimina físicamente esas filas de los archivos Parquet reescritos.
Ejecutar REORG en Fabric
Ejecute REORG desde experiencias basadas en Spark en Fabric, como:
- Cuadernos de notas de Fabric
- Definiciones de trabajos de Spark
No ejecute REORG desde el punto de conexión de SQL Analytics.
REORG es un comando de mantenimiento de Spark SQL para tablas Delta.
Siga los procedimientos recomendados
- Ejecute
PURGEsolo cuando tenga una necesidad específica, como los requisitos de cumplimiento.OPTIMIZEpurga automáticamente los archivos en los que se hace referencia a más de 5% de registros mediante vectores de eliminación, por lo que el mantenimiento rutinario normalmente no requiere un paso independientePURGE. - Ejecute
PURGEantes deVACUUMcuando necesite que los datos eliminados se supriman físicamente para cumplir los requisitos de cumplimiento normativo o del RGPD. - Utiliza predicados
WHEREpara dirigirte a particiones específicas cuando no necesites reescribir toda la tabla. - Utilice
UPGRADE UNIFORMcuando necesite lectores de Iceberg, pero tenga en cuenta los metadatos adicionales que mantiene UniForm. - Tratar
REORGyOPTIMIZEcomo operaciones de mantenimiento complementarias, no indistintas.