distribution_style

用途

view: my_view {
  derived_table: {
    distribution_style: all
    ...
  }
}
階層
distribution_style

または

distribution_style
デフォルト値
なし

許可
配信スタイル(all または even)
特別なルール
distribution_style は 特定の言語でのみサポートされています

定義

distribution_style を使用すると、永続的な派生テーブル(PDT)またはサマリー表のクエリをデータベース内のノードに分散する方法を指定できます。

distribution_style をサポートする言語のリストについては、distribution_style の言語サポートをご覧ください。

distribution_style パラメータは、PDT やサマリー表など、永続的なテーブルでのみ機能します。distribution_style は、永続性戦略のない 派生テーブル ではサポートされていません。

また、distribution_style パラメータは、create_process または sql_create を使用して定義された派生テーブルではサポートされていません。

最後に、distribution_style と distribution を同時に使用することはできません。列の値に基づいてテーブルの行を異なる Redshift ノードに分散する場合は、distribution を使用します。それ以外の場合は、distribution_style を使用して別の配信戦略を選択します。

Redshift には 4 つの配信スタイルがあります。これについては、配信スタイルに関する Amazon Redshift のドキュメントで説明されています。

  • ALL 配信: すべての行が各ノードに完全にコピーされます。このタイプの配信は、Looker で distribution_style: all を使用して行うことができます。
  • EVEN 配信: 行はラウンドロビン方式で異なるノードに配信されます。このタイプの配信は、Looker で distribution_style: even を使用して行うことができます。
  • KEY 配信: 行は、特定の列内の一意の値に基づいて異なるノードに配信されます。このタイプの配信は、Looker で distribution パラメータを使用して行うことができます。
  • AUTO 配信 Redshift は、テーブルデータのサイズに基づいて最適な配信スタイルを割り当てます。Looker はこの配信タイプをサポートしていません。

適切な配信戦略の選択については、配信スタイルに関する Amazon Redshift のドキュメントをご覧ください。distribution_style を指定せず、代わりに distribution パラメータを使用しない場合、Looker はデフォルトで all になります。

例

配信スタイルが all の customer_order_facts 派生テーブルを作成します。

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
  }
}

distribution_style の言語サポート

distribution_style を使用できるかどうかは、Looker 接続で使用されているデータベース言語によって異なります。Looker の最新リリースでは、以下の言語で distribution_style がサポートされています。

方言 サポート対象
Actian Avalanche
Amazon Athena
Amazon Aurora MySQL
Amazon Redshift
Amazon Redshift 2.1+
Amazon Redshift Serverless 2.1+
Apache Druid
Apache Druid 0.13.x - 0.17.x
Apache Druid 0.18+
Apache Hive 2.3+
Apache Hive 3.1.2+
Apache Spark 3+
ClickHouse
ClickHouse 26+
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+
Dremio 26+ with Arrow Flight SQL
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
MongoSQL
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