distribution_style

Nutzung

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

– oder –

distribution_style
Standardwert
Keine

Akzeptiert
Ein Verteilungsstil (all oder even)
Spezielle Regeln
distribution_style wird nur für bestimmte Dialekte unterstützt.

Definition

distribution_style können Sie angeben, wie die Abfrage für eine persistente abgeleitete Tabelle (Persistent Derived Table, PDT) oder eine Aggregattabelle auf die Knoten in einer Datenbank verteilt wird.

Eine Liste der Dialekte, die distribution_style unterstützen, finden Sie im Abschnitt Dialektunterstützung für distribution_style.

Der distribution_style Parameter funktioniert nur mit Tabellen, die persistent sind, z. B. PDTs und Aggregattabellen. distribution_style wird für abgeleitete Tabellen ohne Persistenzstrategie nicht unterstützt.

Außerdem wird der distribution_style Parameter für abgeleitete Tabellen, die mit create_process oder sql_create definiert wurden, nicht unterstützt.

Schließlich sollten distribution_style und distribution nicht gleichzeitig verwendet werden. Wenn Sie die Zeilen einer Tabelle basierend auf einem Spaltenwert auf verschiedene Redshift-Knoten verteilen möchten, verwenden Sie distribution. Verwenden Sie andernfalls distribution_style, um eine andere Verteilungsstrategie auszuwählen.

Redshift bietet vier Verteilungsstile, die in der Amazon Redshift-Dokumentation unter Verteilungsstile beschrieben werden:

  • Verteilung ALL:Alle Zeilen werden vollständig auf jeden Knoten kopiert. Diese Art der Verteilung können Sie in Looker mit distribution_style: all erreichen.
  • Verteilung EVEN:Die Zeilen werden im Round-Robin-Verfahren auf verschiedene Knoten verteilt. Diese Art der Verteilung können Sie in Looker mit distribution_style: even erreichen.
  • Verteilung KEY:Die Zeilen werden basierend auf eindeutigen Werten in einer bestimmten Spalte auf verschiedene Knoten verteilt. Diese Art der Verteilung können Sie in Looker mit dem distribution Parameter erreichen.
  • Verteilung AUTO : Redshift weist basierend auf der Größe der Tabellendaten einen optimalen Verteilungsstil zu. Looker unterstützt diesen Verteilungstyp nicht.

Informationen zur Auswahl der geeigneten Verteilungsstrategie finden Sie in der Amazon Redshift-Dokumentation unter Verteilungsstile. Wenn Sie keinen distribution_style angeben und stattdessen nicht den distribution Parameter verwenden, wird in Looker standardmäßig all verwendet.

Beispiele

Erstellen Sie eine abgeleitete Tabelle customer_order_facts mit dem Verteilungsstil 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
  }
}

Dialektunterstützung für distribution_style

Die Möglichkeit, distribution_style zu verwenden, hängt von dem Datenbankdialekt ab, den Ihre Looker-Verbindung verwendet. In der neuesten Version von Looker unterstützen die folgenden Dialekte distribution_style:

Dialekt Unterstützt?
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 AlloyDB for PostgreSQL
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