distribution_style

Utilizzo

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

- o -

distribution_style
Valore predefinito
Nessuno

Accetta
Uno stile di distribuzione (all o even)
Regole speciali
distribution_style è supportato solo in dialetti specifici

Definizione

distribution_style ti consente di specificare come la query per una tabella derivata persistente (PDT) o una tabella aggregata viene distribuita tra i nodi di un database.

Consulta la sezione Supporto dei dialetti per distribution_style per l'elenco dei dialetti che supportano distribution_style.

Il parametro distribution_style funziona solo con le tabelle persistenti, come le PDT e le tabelle aggregate. distribution_style non è supportato per le tabelle derivate senza una strategia di persistenza.

Inoltre, il parametro distribution_style non è supportato per le tabelle derivate definite utilizzando create_process o sql_create.

Infine, distribution_style e distribution non devono essere utilizzati contemporaneamente. Se vuoi distribuire le righe di una tabella a nodi Redshift diversi in base al valore di una colonna, utilizza distribution. In caso contrario, utilizza distribution_style per scegliere una strategia di distribuzione diversa.

Redshift offre quattro stili di distribuzione, descritti nella documentazione di Amazon Redshift sugli stili di distribuzione:

  • ALL Distribution:tutte le righe vengono copiate completamente in ogni nodo. Puoi ottenere questo tipo di distribuzione in Looker utilizzando distribution_style: all.
  • Distribuzione EVEN:le righe vengono distribuite a nodi diversi in modo round robin. Puoi ottenere questo tipo di distribuzione in Looker utilizzando distribution_style: even.
  • Distribuzione KEY:le righe vengono distribuite a nodi diversi in base ai valori univoci all'interno di una determinata colonna. Puoi ottenere questo tipo di distribuzione in Looker utilizzando il parametro distribution.
  • AUTO Distribution Redshift assegna uno stile di distribuzione ottimale in base alle dimensioni dei dati della tabella. Looker non supporta questo tipo di distribuzione.

Per scegliere la strategia di distribuzione appropriata, consulta la documentazione di Amazon Redshift sugli stili di distribuzione. Se non specifichi un distribution_style e non utilizzi il parametro distribution, Looker utilizzerà all per impostazione predefinita.

Esempi

Crea una tabella derivata customer_order_facts con uno stile di distribuzione 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
  }
}

Supporto dei dialetti per distribution_style

La possibilità di utilizzare distribution_style dipende dal dialetto del database utilizzato dalla connessione Looker. Nell'ultima release di Looker, i seguenti dialetti supportano distribution_style:

Dialetto Supportata?
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