Uso
derived_table: {
distribution_style: all
...
}
}
Hierarquia
distribution_style - ou - distribution_style |
Valor padrão
NenhumaAceita
Um estilo de distribuição (all ou even )
Regras especiais
distribution_style só é compatível com dialetos específicos.
|
Definição
distribution_style
permite especificar como a consulta para uma tabela derivada persistente (PDT, na sigla em inglês) ou uma tabela agregada é distribuída entre os nós em um banco de dados.
Consulte a seção Suporte ao dialeto para
distribution_style
abaixo para ver a lista de dialetos compatíveis comdistribution_style
.
O parâmetro
distribution_style
funciona apenas com tabelas permanentes, como PDTs e tabelas agregadas.distribution_style
não é compatível com tabelas derivadas sem uma estratégia de persistência.
Além disso, o parâmetro
distribution_style
não é compatível com tabelas derivadas definidas usandocreate_process
ousql_create
.Por fim,
distribution_style
edistribution
não podem ser usados ao mesmo tempo. Se você quiser distribuir as linhas de uma tabela para diferentes nós do Redshift com base em um valor de coluna, usedistribution
. Caso contrário, usedistribution_style
para escolher uma estratégia de distribuição diferente.
O Redshift oferece três estilos de distribuição, que são descritos na documentação:
- Todas as distribuições: todas as linhas são totalmente copiadas para cada nó. É possível fazer esse tipo de distribuição no Looker usando
distribution_style: all
. - Distribuição uniforme: as linhas são distribuídas para diferentes nós em ordem aleatória. É possível fazer esse tipo de distribuição no Looker usando
distribution_style: even
. - Distribuição de chaves:as linhas são distribuídas para diferentes nós com base em valores exclusivos de uma coluna. Esse tipo de distribuição pode ser alcançado no Looker usando o parâmetro
distribution
.
Consulte a documentação do Amazon Redshift para escolher a estratégia de distribuição apropriada. Se você não especificar um distribution_style
e não usar o parâmetro distribution
, o Looker usará all
por padrão.
Examples
Crie uma tabela derivada customer_order_facts
com um estilo de distribuição all
:
view: customer_order_facts {
derived_table: {
sql:
SELECT
customer_id,
COUNT(*) AS lifetime_orders
FROM
order
GROUP BY 1 ;;
persist_for: "24 hours"
distribution_style: all
}
}
Suporte a dialetos para distribution_style
A capacidade de usar distribution_style
depende do dialeto do banco de dados usado pela conexão do Looker. Na versão mais recente do Looker, os seguintes dialetos são compatíveis com distribution_style
: