MaxCompute analiza los patrones recientes de lectura y escritura de sus tablas para generar recomendaciones de optimización de clustering. Estas recomendaciones ayudan a mejorar el rendimiento de los trabajos y a reducir el consumo de CU. Utilice las ventajas estimadas y las sugerencias detalladas para decidir si aplica una recomendación.
Límites
Regiones compatibles: China (Hangzhou), China (Shanghai), China (Beijing), China (Zhangjiakou), China (Shenzhen) y China (Chengdu).
Las recomendaciones de optimización de clustering no son compatibles con proyectos de modelo de tres niveles.
El análisis de optimización de clustering abarca el historial de ejecución de la mayoría de los trabajos, pero excluye aquellos con varios Fuxi Jobs. Por lo tanto, es posible que no se analice un número reducido de trabajos.
Para obtener información sobre cómo optimizar trabajos que usan tablas agrupadas, consulte Hash Clustering.
Consultar las recomendaciones de optimización de clustering
Consulte las tablas recomendadas, sus ventajas estimadas tras aplicar el clustering y las sugerencias detalladas para todos los proyectos o para proyectos específicos de la región actual. Siga estos pasos:
Inicie sesión en la consola de MaxCompute y seleccione una región en la esquina superior izquierda.
En el panel de navegación izquierdo, elija .
-
En la pestaña Clustering Optimization, haga clic en Estimated Benefits y utilice los filtros para buscar tablas con recomendaciones de clustering.
Parámetro
Descripción
Project Name
Seleccione un proyecto de MaxCompute en la lista desplegable. Si no selecciona ningún proyecto, el valor predeterminado es All Projects.
Table Name
Introduzca un nombre de tabla. Se admite la búsqueda aproximada. Separe varios nombres de tabla con una coma (
,).Recommendation Generation Date
Fecha en la que se generó la recomendación. De forma predeterminada, se selecciona el día anterior.
-
Métricas de ventajas estimadas
Métrica
Descripción
Estimated Number of Beneficial Jobs/Day
Número estimado de trabajos diarios que se beneficiarían si la tabla se convierte en una tabla agrupada.
Estimated Shuffle Reduction/Day
Reducción diaria estimada del volumen de shuffle tras convertir la tabla recomendada en una tabla agrupada.
Reducir el volumen de shuffle disminuye de manera efectiva las horas de CU que consumen los trabajos. Por lo general, una reducción de 1 TB en el volumen de shuffle ahorra entre 2 y 4 horas de CU al día.
-
Lista de recomendaciones de optimización
Revise los valores sugeridos para los parámetros de la lista y consulte la recomendación para obtener más detalles sobre la optimización de la tabla.
Columna
Descripción
Project
Proyecto que contiene la tabla recomendada.
Table Name
Nombre de la tabla recomendada.
Type
Tipo de clustering recomendado para la tabla. Actualmente, solo se admiten recomendaciones de Hash Clustering.
Recommended Clustering Key
Clave de clúster recomendada para la tabla. Esta clave afecta principalmente a la eliminación de shuffle (Shuffle Removal) y al filtrado de datos en búsquedas puntuales.
Recommended Sort Key
Clave de ordenación recomendada para la tabla. Afecta principalmente al filtrado de datos y a la compresión del almacenamiento.
Bucket Count
Número de buckets recomendado para la tabla. Este valor influye sobre todo en el paralelismo de las operaciones de escritura y de los trabajos de lectura que utilizan Shuffle Removal.
Recommendation Index
Calificación de 1 a 5 estrellas. Una mayor cantidad de estrellas indica una recomendación más sólida para modificar los atributos de clustering de la tabla. La calificación se calcula de la siguiente manera:
Dimensión de evaluación
Regla de deducción
Penalización
Actualidad del patrón optimizable
La ventana de observación es inferior a 14 días
Se resta 1 estrella
Reducción del volumen de shuffle en lectura
La reducción es inferior a 1 TB
Se resta 1 estrella
Actividad de trabajos de escritura
No se registraron trabajos de escritura durante el día
Se resta 1 estrella
Número de particiones optimizables
Se resta 1 estrella si el número de particiones optimizables es mayor que 3
Se restan 2 estrellas si el número de particiones optimizables es mayor que 31
Ajuste dinámico
NotaSi no se registran trabajos de escritura durante el día, se resta una estrella porque no es posible estimar el costo adicional de las escrituras diarias.
Si existen muchas particiones optimizables, la optimización de clustering surte efecto únicamente después de reescribir varias particiones existentes con datos nuevos o de forma manual. Este retraso provoca la deducción de una estrella.
Estimated Shuffle Reduction/Day
Reducción diaria estimada del volumen de shuffle tras convertir la tabla en una tabla agrupada.
Observation Interval
Número de días que la misma recomendación de optimización ha aparecido durante el periodo de observación.
Actions
Haga clic en una recomendación para abrir la página Details of Table with Optimization Recommendations. Dicha página incluye las siguientes secciones:
Optimization Recommendations
Current Status
Overview of Estimated Benefits
Estimated Shuffle Reduction/Day
Beneficial Table Read Jobs
Full Table Write Jobs
Full Table Read Jobs
-
Aplicar las recomendaciones de optimización de clustering
Aplicar recomendaciones a la tabla original
-
Mediante la consola
En el caso de una tabla particionada, aplique directamente una recomendación para convertir la tabla original en una tabla agrupada con un solo clic. Siga estos pasos:
En el panel de navegación izquierdo, elija .
En la pestaña Clustering Optimization, haga clic en Estimated Benefits.
En la columna Actions de la tabla de destino, haga clic en View Details para ir a la página Details of Table with Optimization Recommendations.
En la esquina superior derecha, haga clic en Apply Recommendations para completar la conversión.
-
Mediante un comando SQL:
-- Change a table to a Hash Clustering table. ALTER TABLE <table_name> [CLUSTERED BY (<col_name> [, <col_name>, ...]) [SORTED BY (<col_name> [ASC | DESC] [, <col_name> [ASC | DESC] ...])] INTO <number_of_buckets> BUCKETS]; -
Una vez completada la conversión, revise la tabla agrupada optimizada y ejecute los trabajos de lectura asociados para asegurarse de que funcionen correctamente. Si surge algún problema, revierta los cambios de inmediato mediante el siguiente comando:
-- Change a Hash Clustering table back to a non-clustered table. ALTER TABLE <table_name> NOT CLUSTERED;
Después de convertir una tabla en una tabla agrupada, no es posible ejecutar escrituras incrementales, como
INSERT INTOni cargas de datos a través de Tunnel.No es posible aplicar recomendaciones de clustering directamente a una tabla no particionada.
Al modificar los atributos de clustering, aumentan la latencia y el consumo de CU de los trabajos de escritura. Sin embargo, el consumo de CU de los trabajos de lectura disminuye, lo que genera un ahorro neto de CU.
En algunos escenarios, se recomienda reescribir las particiones y comprobar las ventajas para los trabajos descendentes optimizables. Para obtener más información, consulte Rewrite partition data (Recommended).
Reescribir los datos de las particiones (recomendado)
Cuando modifica los atributos de clustering de una tabla, los cambios se aplican únicamente a las particiones nuevas. Para aplicar las optimizaciones a las particiones existentes, debe reescribir sus datos. En los siguientes escenarios, necesita reescribir las particiones y comprobar las ventajas para los trabajos descendentes optimizables:
La tabla es una dependencia de trabajos de alta prioridad y sensibles a la latencia.
La tabla tiene particiones grandes donde las operaciones de escritura individuales superan los 10 TB.
Un trabajo descendente lee de varias particiones que deben reescribirse simultáneamente como particiones agrupadas para aplicar la optimización.
-
Para tablas grandes en un trabajo diario de combinación completa e incremental, reescriba la partición del último día. Esta práctica mitiga el riesgo de mayores costos y tiempos de ejecución más lentos en la primera ejecución del trabajo del día siguiente.
-- Assume the partition column is ds, and new partitions such as 20241015 and 20241016 are added daily. -- The data in new partitions is generated by merging incremental data from the previous day's partition. INSERT OVERWRITE TABLE <table_name> PARTITION(ds) SELECT * FROM <table_name> WHERE ds = max_pt('<table_name>'); -
Si un trabajo optimizable lee de varias particiones existentes, se recomienda reescribir las particiones existentes dentro del rango de lectura para aplicar antes la optimización de clustering.
-- Assume the partition column is ds, and new partitions such as 20241015, 20241016, etc., are added daily. -- The read range starts from 20241015. INSERT OVERWRITE TABLE <table_name> PARTITION(ds) SELECT * FROM <table_name> WHERE ds >='20241015'; Tras la reescritura, se recomienda ejecutar una prueba del trabajo optimizable para comprobar que la optimización sea efectiva.
Aplicar recomendaciones a una tabla nueva
En una tabla no particionada, no es posible modificar directamente los atributos de clustering de la tabla original. Debe aplicar la recomendación de forma manual mediante la creación de una tabla agrupada nueva. Siga estos pasos:
-
Cree una tabla agrupada nueva.
-- Check the CREATE TABLE statement of the existing table. SHOW CREATE TABLE <original_table>; -- Create a new cluster table by inserting the CLUSTER information at the appropriate position in the CREATE TABLE syntax. CREATE TABLE <new_table> [CLUSTERED BY (<col_name> [, <col_name>, ...]) [SORTED BY (<col_name> [ASC | DESC] [, <col_name> [ASC | DESC] ...])] INTO <number_of_buckets> BUCKETS]; -
Cargue los datos en la tabla nueva.
INSERT OVERWRITE TABLE <new_table> SELECT * FROM <original_table>; -
Cambie el nombre de la tabla original por el de una tabla de copia de seguridad.
ALTER TABLE <original_table> RENAME TO <original_table_backup>; -
Asigne a la tabla nueva el nombre de la tabla original.
ALTER TABLE <new_table> RENAME TO <original_table>;
La tabla nueva, que ahora tiene el nombre de la tabla original, agrupa los datos según los nuevos atributos de clustering.
Revertir las recomendaciones de clustering
Revise la tabla agrupada nueva para asegurarse de que todos los trabajos funcionen correctamente. Si surge algún problema, revierta los cambios de inmediato mediante los siguientes comandos:
-
Elimine la tabla nueva, que tiene el mismo nombre que la tabla original.
DROP TABLE IF EXISTS <original_table>; -
Asigne a la tabla de copia de seguridad el nombre de la tabla original.
ALTER TABLE <original_table_backup> RENAME TO <original_table>;
Consultar las ventajas de la optimización de clustering
En la pestaña Clustering Optimization, haga clic en Actual Benefits para consultar las ventajas de la optimización de clustering. Siga estos pasos:
Inicie sesión en la consola de MaxCompute y seleccione una región en la esquina superior izquierda.
En el panel de navegación izquierdo, elija .
En la pestaña Clustering Optimization, haga clic en Actual Benefits.
-
Filtre por Project Name y Analysis Time para consultar un resumen y los detalles de las ventajas obtenidas de las tablas agrupadas con atributos de clustering modificados.
-
Descripciones de las métricas de ventajas
Métrica
Descripción
Number of Benefited Jobs
Número de veces que se leyó la tabla agrupada modificada recientemente durante el periodo de análisis.
Saved CU-hours
Ahorro de horas de CU para todos los trabajos que leyeron la tabla agrupada modificada durante el periodo de análisis, en comparación con el consumo previo a la modificación.
Reduced Shuffle Amount
Reducción del volumen de shuffle para todos los trabajos que leyeron la tabla agrupada modificada recientemente durante el periodo de análisis, en comparación con el volumen de shuffle previo a la modificación de la tabla.
Las ventajas de la optimización de clustering se calculan al comparar el consumo promedio de los trabajos que tienen la misma Signature antes y después de la modificación. Las estadísticas abarcan las tablas agrupadas modificadas según las recomendaciones en los últimos 365 días.
-
Lista de tablas optimizadas
Columna
Descripción
Project
Proyecto que contiene la tabla agrupada con atributos de clustering modificados.
Table Name
Nombre de la tabla con atributos de clustering modificados.
Clustering Attribute Modification Time
Fecha en la que se modificaron por última vez los atributos de clustering de la tabla.
Number of Benefited Jobs
Número de veces que se leyó la tabla durante el periodo de análisis posterior a la modificación de sus atributos de clustering.
Saved Computing Duration
Reducción de la duración de cómputo para los trabajos que leyeron esta tabla durante el periodo de análisis, en comparación con la duración previa a la modificación de los atributos.
Saved CU-hours
Reducción del consumo de horas de CU para los trabajos que leyeron esta tabla durante el periodo de análisis, en comparación con el consumo previo a la modificación de los atributos.
Reduced Shuffle Amount
Reducción del volumen de shuffle para los trabajos que leyeron esta tabla durante el periodo de análisis, en comparación con el volumen previo a la modificación de los atributos.
Actions
Haga clic en una recomendación para abrir la página Details of Optimized Table. Dicha página incluye las siguientes secciones:
Current Status of Table
Clustering Type
Cluster key
Sort key
Number of Buckets
Partition Key
Benefit Overview
Number of Benefited Jobs
Saved CU-hours
Reduced Shuffle Amount
Lista de trabajos de lectura beneficiados
Signature
Saved Computing Duration
Saved CU-hours
Reduced Shuffle Amount
ImportanteDespués de convertir una tabla en una tabla agrupada, las estadísticas diarias de ventajas de los trabajos se actualizan con base T+1. Para ver resultados de optimización en tiempo real, utilice herramientas de operación y mantenimiento de trabajos o LogView.
Las estadísticas de ventajas de la optimización de clustering se basan en datos históricos de ejecución de trabajos con la misma Signature. Además, factores como las fluctuaciones diarias de rendimiento de los trabajos influyen en ellas. Si considera que las ventajas no cumplen con las expectativas, compare los detalles de ejecución de los trabajos de distintas fechas para identificar los factores que influyen.
Las estadísticas de ventajas de la optimización de clustering son únicamente de referencia. Para conocer el ahorro final de CU, consulte su factura.
-