Dicas de particionamento - AWS Clean Rooms

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Dicas de particionamento

As dicas de particionamento controlam a distribuição de dados entre os nós do executor. Quando várias dicas de particionamento são especificadas, vários nós são inseridos no plano lógico, mas a dica mais à esquerda é selecionada pelo otimizador.

AGLUTINAR

Reduz o número de partições para o número especificado de partições.

Parâmetros: valor numérico (obrigatório) - deve ser um número inteiro positivo entre 1 e 2147483647

Exemplos:

-- Reduce to 5 partitions SELECT /*+ COALESCE(5) */ employee_id, salary FROM employees;

DISTRIBUIÇÃO

Reparticiona os dados para o número especificado de partições usando as expressões de particionamento especificadas. Usa distribuição round-robin.

Parâmetros:

  • Valor numérico (opcional) - número de partições; deve ser um número inteiro positivo entre 1 e 2147483647

  • Identificadores de coluna (opcional) - colunas pelas quais particionar; Essas colunas devem existir no esquema de entrada.

  • Se ambos forem especificados, o valor numérico deverá vir primeiro

Exemplos:

-- 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;

REPARTIÇÃO_POR_INTERVALO

Reparticiona os dados para o número especificado de partições usando o particionamento de intervalo nas colunas especificadas.

Parâmetros:

  • Valor numérico (opcional) - número de partições; deve ser um número inteiro positivo entre 1 e 2147483647

  • Identificadores de coluna (opcional) - colunas pelas quais particionar; Essas colunas devem existir no esquema de entrada.

  • Se ambos forem especificados, o valor numérico deverá vir primeiro

Exemplos:

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 as partições de saída do resultado da consulta para que cada partição tenha um tamanho razoável (nem muito pequena nem muito grande). Esta é uma operação de melhor esforço: se houver inclinações, AWS Clean Rooms dividirá as partições inclinadas para que não sejam muito grandes. Essa dica é útil quando você precisa gravar o resultado de uma consulta em uma tabela para evitar arquivos muito pequenos ou muito grandes.

Parâmetros:

  • Valor numérico (opcional) - número de partições; deve ser um número inteiro positivo entre 1 e 2147483647

  • Identificadores de coluna (opcional) - as colunas devem aparecer na lista de saída SELECT

  • Se ambos forem especificados, o valor numérico deverá vir primeiro

Exemplos:

-- 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;