clés_de_cluster

Utilisation

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 colonne en cluster

Règles spéciales
cluster_keys est pris en charge uniquement sur des dialectes spécifiques

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 les organise 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.

Reportez-vous à la section Dialecte de cluster_keys ci-dessous pour obtenir la liste des dialectes disponibles : cluster_keys.

Le paramètre cluster_keys ne fonctionne qu'avec les tables persistantes, telles que les tables PST et les tables agrégées. cluster_keys n'est pas disponible pour les tables dérivées sans stratégie de persistance.

De plus, le paramètre cluster_keys n'est pas accepté pour les tables dérivées définies à l'aide de create_process ou de sql_create.

Enfin, Google BigQuery n'accepte le clustering que sur les tables partitionnées. Le paramètre cluster_keys ne fonctionne qu'avec les tables dérivées persistantes ou les tables agrégées qui sont également partitionnées à l'aide du paramètre partition_keys.

Pour ajouter une colonne en cluster à une table dérivée persistante (PDT) ou à une table agrégée, utilisez le paramètre cluster_keys et indiquez les noms des colonnes à mettre en cluster dans la table de base de données.

Examples

Créez une table dérivée native customer_order_facts sur une base de données Google BigQuery, partitionnée dans la colonne date et regroupée 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
  }
}

Éléments à prendre en compte

Les tables Google BigQuery ne peuvent être partitionnées que sur des champs de date

Les tables Google BigQuery ne peuvent être partitionnées que sur une colonne de date ou d'horodatage. Si vous souhaitez ajouter des colonnes en cluster à une table de progression ou à une table agrégée n'incluant pas de données temporelles ou de date, vous pouvez le faire en utilisant une instruction SQL telle qu'une instruction SQL telle que SELECT CURRENT_DATETIME() as now, puis utiliser partition_keys pour partitionner la nouvelle colonne. Vous pouvez ensuite utiliser le clustering sur d'autres colonnes de votre table individuelle ou de votre table agrégée.

Langues acceptées pour cluster_keys

La possibilité d'utiliser cluster_keys dépend du dialecte de la base de données utilisé par votre connexion Looker. Dans la dernière version de Looker, les dialectes suivants sont compatibles avec cluster_keys: