distribution_style

Uso

view: my_view {
  derived_table: {
    distribution_style: all
    ...
  }
}
Jerarquía
distribution_style

O bien:

distribution_style
Valor predeterminado
Ninguno

Acepta
Un estilo de distribución (all o even)
Reglas especiales
distribution_style solo se admite en dialectos específicos

Definición

distribution_style te permite especificar cómo se distribuye la consulta de una tabla derivada persistente (PDT) o una tabla de agregación entre los nodos de una base de datos.

Consulta la sección Compatibilidad de dialectos con distribution_style para ver la lista de dialectos que admiten distribution_style.

El parámetro distribution_style solo funciona con tablas persistentes, como las PDT y las tablas agregadas. distribution_style no se admite para las tablas derivadas sin una estrategia de persistencia.

Además, el parámetro distribution_style no se admite para las tablas derivadas que se definen con create_process o sql_create.

Por último, distribution_style y distribution no se deben usar al mismo tiempo. Si deseas distribuir las filas de una tabla en diferentes nodos de Redshift según el valor de una columna, usa distribution. De lo contrario, usa distribution_style para elegir una estrategia de distribución diferente.

Redshift ofrece cuatro estilos de distribución, que se describen en la documentación de Amazon Redshift sobre los estilos de distribución:

  • Distribución ALL: Todas las filas se copian por completo en cada nodo. Puedes lograr este tipo de distribución en Looker con distribution_style: all.
  • Distribución EVEN: Las filas se distribuyen a diferentes nodos de forma rotativa. Puedes lograr este tipo de distribución en Looker con distribution_style: even.
  • Distribución de CLAVE: Las filas se distribuyen en diferentes nodos según los valores únicos dentro de una columna en particular. Puedes lograr este tipo de distribución en Looker con el parámetro distribution.
  • AUTO Distribution: Redshift asigna un estilo de distribución óptimo según el tamaño de los datos de la tabla. Looker no admite este tipo de distribución.

Consulta la documentación de Amazon Redshift sobre los estilos de distribución para elegir la estrategia de distribución adecuada. Si no especificas un distribution_style y no usas el parámetro distribution, Looker usará all de forma predeterminada.

Ejemplos

Crea una tabla derivada customer_order_facts con un estilo de distribución 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
  }
}

Compatibilidad con dialectos para distribution_style

La capacidad de usar distribution_style depende del dialecto de la base de datos que usa tu conexión de Looker. En la versión más reciente de Looker, los siguientes dialectos admiten distribution_style:

Dialecto ¿Es compatible?
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