estilo_de_distribuição

Uso

view: my_view {
derived_table: {
distribution_style: all
...
}
}
Hierarquia
distribution_style

- ou -

distribution_style
Valor padrão
Nenhuma

Aceita
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 com distribution_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 usando create_process ou sql_create.

Por fim, distribution_style e distribution 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, use distribution. Caso contrário, use distribution_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: