Utilisation
view: view_name {
derived_table: {
cluster_keys: ["customer_city", "customer_state"]
...
}
}
|
Hiérarchie
cluster_keys- ou - cluster_keys |
Valeur par défaut
None
Acceptation
Un ou plusieurs noms de colonnes groupées
Règles spéciales
cluster_keys n'est compatible qu'avec certains dialectes.
|
Définition
Le clustering d'une table partitionnée trie les données d'une partition en fonction des valeurs des colonnes en cluster et organise ces colonnes dans des blocs de stockage de taille optimale. Le clustering peut améliorer les performances et réduire le coût des requêtes qui filtrent ou agrègent les colonnes en cluster.
Pour obtenir la liste des dialectes compatibles avec cluster_keys, consultez la section Dialectes compatibles avec cluster_keys.
Pour ajouter une colonne groupée à une table dérivée persistante (PDT) ou à une table agrégée, utilisez le paramètre cluster_keys et fournissez les noms des colonnes que vous souhaitez regrouper dans la table de base de données.
Exemples
Créez une table dérivée native customer_order_facts sur une base de données BigQuery, partitionnée sur la colonne date et mise en cluster sur les colonnes city, age_tier et gender pour optimiser les requêtes filtrées ou agrégées sur ces colonnes :
view: customer_order_facts {
derived_table: {
explore_source: order {
column: customer_id { field: order.customer_id }
column: date { field: order.order_time }
column: city { field: users.city}
column: age_tier { field: users.age_tier }
column: gender { field: users.gender }
derived_column: num_orders {
sql: COUNT(order.customer_id) ;;
}
}
partition_keys: [ "date" ]
cluster_keys: [ "city", "age_tier", "gender" ]
datagroup_trigger: daily_datagroup
}
}
Prise en charge des dialectes pour cluster_keys
La possibilité d'utiliser cluster_keys dépend du dialecte de base de données de votre connexion Looker. Dans la dernière version de Looker, les dialectes suivants sont compatibles avec cluster_keys :
| Dialecte | Compatibilité |
|---|---|
| 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 |