Uso
view: my_view {
derived_table: {
distribution_style: all
...
}
}
|
Hierarquia
distribution_style- ou - distribution_style |
Valor padrão
Nenhum
Aceita
Um estilo de distribuição (all ou even)
Regras especiais
O distribution_style só está disponível em dialetos específicos
|
Definição
O distribution_style permite especificar como a consulta de uma tabela derivada persistente (PDT) ou uma tabela agregada é distribuída entre os nós em um banco de dados.
Consulte a seção Suporte a dialetos para
distribution_stylepara ver a lista de dialetos que oferecem suporte adistribution_style.
O parâmetro
distribution_stylefunciona apenas com tabelas persistentes, como PDTs e tabelas agregadas.distribution_stylenão é compatível com tabelas derivadas sem uma estratégia de persistência.
Além disso, o parâmetro
distribution_stylenão é compatível com tabelas derivadas definidas usandocreate_processousql_create.Por fim,
distribution_styleedistributionnã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_stylepara escolher outra estratégia de distribuição.
O Redshift oferece quatro estilos de distribuição, que são descritos na documentação do Amazon Redshift sobre estilos de distribuição:
- Distribuição ALL: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 EVEN:as linhas são distribuídas para diferentes nós de maneira rotativa. É possível fazer esse tipo de distribuição no Looker usando
distribution_style: even. - Distribuição de CHAVE:as linhas são distribuídas para diferentes nós com base em valores únicos em uma coluna específica. Para fazer isso no Looker, use o parâmetro
distribution. - AUTO Distribution: o Redshift atribui um estilo de distribuição ideal com base no tamanho dos dados da tabela. O Looker não é compatível com esse tipo de distribuição.
Consulte a documentação do Amazon Redshift sobre estilos de distribuição (em inglês) para escolher a estratégia adequada. Se você não especificar um distribution_style e não usar o parâmetro distribution, o Looker vai usar all por padrão.
Exemplos
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 sua conexão do Looker. Na versão mais recente do Looker, os seguintes dialetos são compatíveis com distribution_style:
| Dialeto | Compatível? |
|---|---|
| Actian Avalanche | |
| Amazon Athena | |
| Amazon Aurora MySQL | |
| Amazon Redshift | |
| Amazon Redshift 2.1+ | |
| Amazon Redshift Serverless 2.1+ | |
| Apache Druid | |
| Apache Druid 0.13+ | |
| Apache Druid 0.18+ | |
| Apache Hive 2.3+ | |
| Apache Hive 3.1.2+ | |
| Apache Spark 3+ | |
| ClickHouse | |
| Cloudera Impala 3.1+ | |
| Cloudera Impala 3.1+ with Native Driver | |
| Cloudera Impala with Native Driver | |
| DataVirtuality | |
| Databricks | |
| Denodo 7 | |
| Denodo 8 & 9 | |
| Dremio | |
| Dremio 11+ | |
| Exasol | |
| Google BigQuery Legacy SQL | |
| Google BigQuery Standard SQL | |
| Google Cloud PostgreSQL | |
| Google Cloud SQL | |
| Google Spanner | |
| Greenplum | |
| HyperSQL | |
| IBM Netezza | |
| MariaDB | |
| Microsoft Azure PostgreSQL | |
| Microsoft Azure SQL Database | |
| Microsoft Azure Synapse Analytics | |
| Microsoft SQL Server 2008+ | |
| Microsoft SQL Server 2012+ | |
| Microsoft SQL Server 2016 | |
| Microsoft SQL Server 2017+ | |
| MongoBI | |
| MySQL | |
| MySQL 8.0.12+ | |
| Oracle | |
| Oracle ADWC | |
| PostgreSQL 9.5+ | |
| PostgreSQL pre-9.5 | |
| PrestoDB | |
| PrestoSQL | |
| SAP HANA | |
| SAP HANA 2+ | |
| SingleStore | |
| SingleStore 7+ | |
| Snowflake | |
| Teradata | |
| Trino | |
| Vector | |
| Vertica |