Penggunaan
view: my_view {
derived_table: {
distribution_style: all
...
}
}
|
Hierarki
distribution_style- atau - distribution_style |
Nilai Default
Tidak ada
Menerima
Gaya distribusi (all atau even)
Aturan Khusus
distribution_style hanya didukung di dialek tertentu
|
Definisi
distribution_style memungkinkan Anda menentukan cara kueri untuk tabel turunan persisten (PDT) atau tabel agregat didistribusikan di seluruh node dalam database.
Lihat bagian Dukungan dialek untuk
distribution_styleuntuk mengetahui daftar dialek yang mendukungdistribution_style.
Parameter
distribution_stylehanya berfungsi dengan tabel yang persisten, seperti PDT dan tabel gabungan.distribution_styletidak didukung untuk tabel turunan tanpa strategi persistensi.
Selain itu, parameter
distribution_styletidak didukung untuk tabel turunan yang ditentukan menggunakancreate_processatausql_create.Terakhir,
distribution_styledandistributiontidak boleh digunakan secara bersamaan. Jika Anda ingin mendistribusikan baris tabel ke berbagai node Redshift berdasarkan nilai kolom, gunakandistribution. Jika tidak, gunakandistribution_styleuntuk memilih strategi distribusi yang berbeda.
Redshift menawarkan empat gaya distribusi, yang dijelaskan dalam dokumentasi Amazon Redshift tentang gaya distribusi:
- Distribusi SEMUA: Semua baris disalin sepenuhnya ke setiap node. Anda dapat melakukan jenis distribusi ini di Looker menggunakan
distribution_style: all. - Distribusi EVEN: Baris didistribusikan ke berbagai node secara round-robin. Anda dapat melakukan jenis distribusi ini di Looker menggunakan
distribution_style: even. - Distribusi KUNCI: Baris didistribusikan ke node yang berbeda berdasarkan nilai unik dalam kolom tertentu. Anda dapat melakukan jenis distribusi ini di Looker menggunakan parameter
distribution. - Distribusi AUTO Redshift menetapkan gaya distribusi yang optimal berdasarkan ukuran data tabel. Looker tidak mendukung jenis distribusi ini.
Lihat dokumentasi Amazon Redshift tentang gaya distribusi untuk memilih strategi distribusi yang sesuai. Jika Anda tidak menentukan distribution_style, dan tidak menggunakan parameter distribution, Looker akan menggunakan all secara default.
Contoh
Buat tabel turunan customer_order_facts dengan gaya distribusi all:
view: customer_order_facts {
derived_table: {
sql:
SELECT
customer_id,
COUNT(*) AS lifetime_orders
FROM
order
GROUP BY 1 ;;
persist_for: "24 hours"
distribution_style: all
}
}
Dukungan dialek untuk distribution_style
Kemampuan untuk menggunakan distribution_style bergantung pada dialek database yang digunakan koneksi Looker Anda. Dalam rilis Looker terbaru, dialek berikut mendukung distribution_style:
| 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 |