Distribution_style

Nutzung

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

– oder –

distribution_style
Standardwert
Keine

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

Definition

Mit distribution_style können Sie angeben, wie die Abfrage für eine persistente abgeleitete Tabelle oder eine zusammengefasste Tabelle auf die Knoten in einer Datenbank verteilt wird.

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

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

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

distribution_style und distribution sollten 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 drei Distributionsstile, die in der jeweiligen Dokumentation beschrieben werden:

  • All Distribution (Alle Verteilung): Alle Zeilen werden vollständig in jeden Knoten kopiert. Sie können diese Art der Verteilung in Looker mit distribution_style: all erreichen.
  • Gleichmäßige Verteilung:Die Zeilen werden auf Round-Robin-Basis auf verschiedene Knoten verteilt. Sie können diese Art der Verteilung in Looker mit distribution_style: even erreichen.
  • Schlüsselverteilung:Zeilen werden basierend auf eindeutigen Werten innerhalb einer bestimmten Spalte auf verschiedene Knoten verteilt. Sie können diese Art der Verteilung in Looker mit dem Parameter distribution erreichen.

In der Dokumentation zu Amazon Redshift erfahren Sie, wie Sie die geeignete Vertriebsstrategie auswählen. Wenn Sie keinen distribution_style angeben und stattdessen nicht den Parameter distribution verwenden, verwendet Looker standardmäßig all.

Beispiele

Erstellen Sie eine aus customer_order_facts abgeleitete Tabelle 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 vom Datenbankdialekt ab, den Ihre Looker-Verbindung verwendet. In der neuesten Version von Looker unterstützen die folgenden Dialekte distribution_style: