Penggunaan
view: view_name { derived_table: { partition_keys: [ "created_date" ] ... } }
|
Hierarki
partition_keys- atau - partition_keys |
Nilai Default
None
Menerima
Satu atau beberapa nama kolom yang dipartisi
Aturan Khusus
partition_keys hanya didukung di dialek tertentu
|
Definisi
Parameter partition_keys mendukung dialek database yang memiliki kemampuan untuk memartisi kolom. Saat kueri yang difilter pada kolom berpartisi dijalankan, database hanya akan memindai partisi yang menyertakan data yang difilter, bukan memindai seluruh tabel. Karena subbagian tabel yang lebih kecil dipindai, hal ini dapat secara signifikan mengurangi waktu dan biaya pembuatan kueri tabel besar jika partisi dan filter yang sesuai ditentukan.
Parameter
partition_keyshanya berfungsi dengan tabel yang persisten, seperti PDT dan tabel gabungan.partition_keystidak didukung untuk tabel turunan tanpa strategi persistensi.Selain itu, parameter
partition_keystidak didukung untuk tabel turunan yang ditentukan menggunakancreate_processatausql_create.
Saat Anda membuat tabel turunan persisten (PDT) atau tabel gabungan, jika tabel database pokok Anda menggunakan partisi, Looker dapat menggunakan partisi tersebut.
Lihat bagian Dukungan dialek untuk
partition_keysuntuk mengetahui daftar dialek yang mendukungpartition_keys.
Untuk menambahkan kolom berpartisi ke PDT atau tabel gabungan, gunakan partition_keys dan berikan nama kolom terkait yang dipartisi dalam tabel database.
Contoh
Buat customer_day_facts PDT di database BigQuery dengan kunci partisi di kolom 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
}
}
Buat tabel turunan berbasis SQL customer_day_facts di database Presto dengan kunci partisi pada kolom date dan 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
}
}
Dukungan dialek untuk partition_keys
Kemampuan untuk menggunakan partition_keys bergantung pada dialek database yang digunakan koneksi Looker Anda. Dalam rilis Looker terbaru, dialek berikut mendukung partition_keys:
Di BigQuery, partisi hanya dapat digunakan pada satu kolom tabel, yang harus berupa kolom tanggal/waktu — sehingga PDT Looker berdasarkan tabel BigQuery hanya dapat menggunakan partisi pada satu kolom tanggal/waktu.
| Dialek | Didukung? |
|---|---|
| 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 |