partition_keys

使用状況

ビュー: view_name {
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 つの日時列でのみパーティショニングを使用できます。