使用状況
derived_table: {
partition_keys: [ "created_date" ]
...
}
}
階層
partition_keys または partition_keys |
デフォルト値
None 許可
1 つ以上のパーティション分割列名特別なルール
partition_keys は特定の言語でのみサポートされます。 |
定義
partition_keys
パラメータは、列を分割できるデータベース言語をサポートしています。パーティション分割テーブルに対してフィルタされるクエリを実行すると、データベースはテーブル全体をスキャンするのではなく、フィルタされたデータを含むパーティションのみをスキャンします。テーブルの小さなサブセクションがスキャンされるため、適切なパーティションとフィルタが指定された場合に、大きなテーブルをクエリする時間と費用を大幅に削減できます。
partition_keys
パラメータは、PDT や集計テーブルなど、永続なテーブルでのみ機能します。partition_keys
は、永続化戦略のない派生テーブルではサポートされていません。また、
partition_keys
パラメータは、create_process
またはsql_create
を使用して定義された派生テーブルではサポートされていません。
永続的な派生テーブル(PDT)または集約テーブルを作成する際に、基盤となるデータベース テーブルでパーティショニングが使用されている場合、Looker はそのパーティショニングを使用できます。
partition_keys
をサポートしている言語のリストについては、下記のpartition_keys
の言語サポート セクションをご覧ください。
パーティション分割テーブルを分割テーブル(PDT)または集約テーブルに追加するには、partition_keys
を使用して、データベース テーブルで分割された対応する列の名前を指定します。
例
BigQuery データベースの date
列にパーティション キーを使用して customer_day_facts
PDT を作成します。
view: customer_order_facts {
derived_table: {
explore_source: order {
column: customer_id { field: order.customer_id }
column: date { field: order.order_time }
derived_column: num_orders {
sql: COUNT(order.customer_id) ;;
}
}
partition_keys: [ "date" ]
datagroup_trigger: daily_datagroup
}
}
date
列と state
列にパーティション キーを使用して Presto データベースに、customer_day_facts
SQL ベースの派生テーブルを作成します。
view: customer_day_facts {
derived_table: {
sql:
SELECT
customer_id,
DATE(order_time) AS date,
COUNT(*) AS num_orders
FROM
order
GROUP BY
customer_id ;;
partition_keys: [ "date", "state" ]
datagroup_trigger: daily_datagroup
}
}
partition_keys
の言語サポート
partition_keys
を使用できるかどうかは、Looker 接続で使用されているデータベース言語によって異なります。Looker の最新リリースでは、partition_keys
で以下の言語がサポートされています。
BigQuery では、パーティショニングは 1 つのテーブル列(日時列)のみを使用できるため、BigQuery テーブルに基づく Looker PDT では 1 つの日時列でのみパーティショニングを使用できます。