Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Sugerencias de particionamiento
Las sugerencias de particionamiento controlan la distribución de datos entre los nodos ejecutores. Cuando se especifican varias sugerencias de partición, se insertan varios nodos en el plan lógico, pero el optimizador selecciona la sugerencia situada más a la izquierda.
COALESCE
Reduce el número de particiones al número de particiones especificado.
Parámetros: valor numérico (obligatorio): debe ser un número entero positivo comprendido entre 1 y 2147483647
Ejemplos:
-- Reduce to 5 partitions SELECT /*+ COALESCE(5) */ employee_id, salary FROM employees;
REPARTICIÓN
Redivide los datos en el número especificado de particiones mediante las expresiones de partición especificadas. Utiliza una distribución por turnos.
Parámetros:
-
Valor numérico (opcional): número de particiones; debe ser un entero positivo entre 1 y 2147483647
-
Identificadores de columna (opcionales): columnas por las que realizar la partición; estas columnas deben existir en el esquema de entrada.
-
Si se especifican ambos, el valor numérico debe ser lo primero
Ejemplos:
-- Repartition to 10 partitions SELECT /*+ REPARTITION(10) */ * FROM employees; -- Repartition by column SELECT /*+ REPARTITION(department) */ * FROM employees; -- Repartition to 8 partitions by department SELECT /*+ REPARTITION(8, department) */ * FROM employees; -- Repartition by multiple columns SELECT /*+ REPARTITION(8, department, location) */ * FROM employees;
REPARTICIÓN_POR_RANGO
Redivide los datos en el número especificado de particiones mediante la partición por rangos en las columnas especificadas.
Parámetros:
-
Valor numérico (opcional): número de particiones; debe ser un entero positivo entre 1 y 2147483647
-
Identificadores de columna (opcionales): columnas por las que realizar la partición; estas columnas deben existir en el esquema de entrada.
-
Si se especifican ambos, el valor numérico debe ser lo primero
Ejemplos:
SELECT /*+ REPARTITION_BY_RANGE(10) */ * FROM employees; -- Repartition by range on age column SELECT /*+ REPARTITION_BY_RANGE(age) */ * FROM employees; -- Repartition to 5 partitions by range on age SELECT /*+ REPARTITION_BY_RANGE(5, age) */ * FROM employees; -- Repartition by range on multiple columns SELECT /*+ REPARTITION_BY_RANGE(5, age, salary) */ * FROM employees;
REEQUILIBRAR
Reequilibra las particiones de salida de los resultados de la consulta para que cada partición tenga un tamaño razonable (ni demasiado pequeña ni demasiado grande). Se trata de una operación que se realiza con el máximo esfuerzo: si hay sesgos, AWS Clean Rooms dividirá las particiones asimétricas para que no sean demasiado grandes. Esta sugerencia resulta útil cuando se necesita escribir el resultado de una consulta en una tabla para evitar archivos demasiado pequeños o demasiado grandes.
Parámetros:
-
Valor numérico (opcional): número de particiones; debe ser un entero positivo entre 1 y 2147483647
-
Identificadores de columna (opcionales): las columnas deben aparecer en la lista de resultados SELECT
-
Si se especifican ambos, el valor numérico debe figurar primero
Ejemplos:
-- Rebalance to 10 partitions SELECT /*+ REBALANCE(10) */ employee_id, name FROM employees; -- Rebalance by specific columns in output SELECT /*+ REBALANCE(employee_id, name) */ employee_id, name FROM employees; -- Rebalance to 8 partitions by specific columns SELECT /*+ REBALANCE(8, employee_id, name) */ employee_id, name, department FROM employees;