使用状況
derived_table: {
distribution_style: すべて
...
}
}
階層
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 には、3 つのスタイルが用意されています。詳しくは、こちらのドキュメントをご確認ください。
- All Distribution: すべての行が各ノードに完全にコピーされます。Looker でこのタイプの分散を実現するには、
distribution_style: all
を使用します。 - 均等な分布: ラウンドロビン方式により、行がさまざまなノードに分散されます。Looker でこのタイプの分散を実現するには、
distribution_style: even
を使用します。 - キーの分布: 行は、特定の列内の一意の値に基づいて、さまざまなノードに分散されます。Looker でこのタイプの分布を実現するには、
distribution
パラメータを使用します。
適切な配信戦略については、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
で以下の言語がサポートされています。