Penggunaan
view: my_view {
derived_table: {
sortkeys: ["date"]
...
}
}
|
Hierarki
sortkeys- atau - sortkeys |
Nilai Default
Tidak ada
Menerima
Nama satu atau beberapa kolom dalam PDT atau tabel gabungan
Aturan Khusus
sortkeys hanya didukung di dialek tertentu
|
Definisi
Parameter sortkeys memungkinkan Anda menentukan satu atau beberapa kolom tabel turunan persisten (PDT) atau tabel gabungan yang akan diterapkan kunci pengurutan reguler. Gunakan kunci pengurutan untuk menentukan kolom PDT yang akan paling sering diurutkan agar kueri data lebih cepat.
Lihat bagian Dukungan dialek untuk
sortkeysuntuk mengetahui daftar dialek yang mendukungsortkeys.
Anda juga dapat membuat kunci pengurutan yang disisipkan dengan menggunakan indexes. Anda tidak dapat menggunakan keduanya secara bersamaan, tetapi setidaknya salah satunya diperlukan.
Parameter
sortkeyshanya berfungsi dengan tabel yang persisten, seperti PDT dan tabel gabungan.sortkeystidak didukung untuk tabel turunan tanpa strategi persistensi.Selain itu, parameter
sortkeystidak didukung untuk tabel turunan yang ditentukan menggunakancreate_processatausql_create.
Secara umum, kunci pengurutan harus diterapkan ke kolom tanggal atau waktu dalam tabel, dan mungkin ke kolom yang akan sering digunakan sebagai filter. Informasi selengkapnya dapat ditemukan di dokumentasi Amazon Redshift.
Contoh
Contoh ini mengasumsikan bahwa Anda bekerja dengan database Redshift sehingga Anda dapat menggunakan parameter sortkeys.
Buat customer_day_facts tabel turunan native persisten yang memiliki sortkey pada date dan dibangun ulang saat grup data order_datagroup dipicu:
view: customer_day_facts {
derived_table: {
explore_source: order {
column: customer_id { field: order.customer_id }
column: date { field: order.order_date }
column: num_orders { field: order.customer_order_count }
}
datagroup_trigger: order_datagroup
sortkeys: ["date"]
}
}
Buat tabel turunan customer_day_facts yang didasarkan pada kueri SQL dan memiliki sortkey pada date:
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 ;;
persist_for: "24 hours"
sortkeys: ["date"]
}
}
Buat tabel turunan customer_day_facts yang didasarkan pada kueri SQL dengan sortkey pada date dan customer_id:
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 ;;
persist_for: "24 hours"
sortkeys: ["date", "customer_id"]
}
}
Dukungan dialek untuk sortkeys
Kemampuan untuk menggunakan sortkeys bergantung pada dialek database yang digunakan koneksi Looker Anda. Dalam rilis Looker terbaru, dialek berikut mendukung sortkeys:
Dialek SQL tradisional (seperti MySQL dan Postgres) harus menggunakan
indexes;sortkeystidak akan berfungsi dengan database ini.
| 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 |