partition_keys

Utilizzo

view: view_name {
  derived_table: {
    partition_keys: [ "created_date" ]
    ...
  }
}
Gerarchia
partition_keys

- o -

partition_keys
Valore predefinito
None

Accetta
Uno o più nomi di colonne partizionate

Regole speciali
partition_keys è supportato solo in dialetti specifici

Definizione

Il parametro partition_keys supporta i dialetti del database in grado di partizionare le colonne. Quando viene eseguita una query filtrata in base a una colonna partizionata, il database analizza solo le partizioni che includono i dati filtrati, anziché l'intera tabella. Poiché viene scansionata una sottosezione più piccola della tabella, ciò può ridurre significativamente il tempo e il costo delle query su tabelle di grandi dimensioni quando vengono specificati la partizione e il filtro appropriati.

Il parametro partition_keys funziona solo con le tabelle persistenti, come le PDT e le tabelle aggregate. partition_keys non è supportato per le tabelle derivate senza una strategia di persistenza.

Inoltre, il parametro partition_keys non è supportato per le tabelle derivate definite utilizzando create_process o sql_create.

Quando crei una tabella derivata persistente (PDT) o una tabella aggregata, se la tabella del database sottostante utilizza il partizionamento, Looker può utilizzare questo partizionamento.

Consulta la sezione Supporto dei dialetti per partition_keys per l'elenco dei dialetti che supportano partition_keys.

Per aggiungere una colonna partizionata a una tabella PDT o aggregata, utilizza partition_keys e fornisci i nomi delle colonne corrispondenti partizionate nella tabella del database.

Esempi

Crea un PDT customer_day_facts su un database BigQuery con una chiave di partizione nella colonna date:

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

Crea una tabella derivata basata su SQL customer_day_facts in un database Presto con chiavi di partizione nelle colonne date e state:

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

Supporto dei dialetti per partition_keys

La possibilità di utilizzare partition_keys dipende dal dialetto del database utilizzato dalla connessione Looker. Nell'ultima release di Looker, i seguenti dialetti supportano partition_keys:

In BigQuery, il partizionamento può essere utilizzato solo su una colonna della tabella, che deve essere una colonna di data/ora, quindi una tabella derivata persistente (PDT) di Looker basata su una tabella BigQuery può utilizzare il partizionamento solo su una colonna di data/ora.

Dialetto Supportata?
Actian Avalanche
Amazon Athena
Amazon Aurora MySQL
Amazon Redshift
Amazon Redshift 2.1+
Amazon Redshift Serverless 2.1+
Apache Druid
Apache Druid 0.13+
Apache Druid 0.18+
Apache Hive 2.3+
Apache Hive 3.1.2+
Apache Spark 3+
ClickHouse
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+
Exasol
Google BigQuery Legacy SQL
Google BigQuery Standard SQL
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
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