chiavi_cluster

Utilizzo

view: view_name {
derived_table: {
cluster_keys: ["cliente_città", "stato_cliente"]
...
}
}
Gerarchia
cluster_keys

- oppure -

cluster_keys
Valore predefinito
None

Accetta
Uno o più nomi di colonne in cluster

Regole speciali
cluster_keys è supportato solo su dialetti specifici

Definizione

Il clustering di una tabella partizionata ordina i dati in una partizione in base ai valori nelle colonne in cluster e organizza le colonne in cluster in blocchi di archiviazione di dimensioni ottimali. Il clustering può migliorare le prestazioni e ridurre il costo delle query che filtrano o aggregano in base alle colonne nel cluster.

Consulta la sezione Assistenza di Dialetto per cluster_keys di seguito per l'elenco dei dialetti che supportano cluster_keys.

Il parametro cluster_keys funziona solo con tabelle persistenti, come le PDT e le tabelle aggregate. cluster_keys non è supportato per le tabelle derivate senza una strategia di persistenza.

Inoltre, il parametro cluster_keys non è supportato per le tabelle derivate definite con create_process o sql_create.

Infine, Google BigQuery supporta il clustering solo su tabelle partizionate. Il parametro cluster_keys funziona solo con le PDT o le tabelle aggregate che sono anche partizionate utilizzando il parametro partition_keys.

Per aggiungere una colonna in cluster a una tabella derivata permanente (PDT) o a una tabella aggregata, utilizza il parametro cluster_keys e fornisci i nomi delle colonne da raggruppare nella tabella del database.

Esempi

Crea una tabella derivata nativa customer_order_facts in un database Google BigQuery, partizionata in base alla colonna date e raggruppata nelle colonne city, age_tier e gender per ottimizzare le query filtrate o aggregate su queste colonne:

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
  }
}

Aspetti da considerare

Le tabelle Google BigQuery possono eseguire il partizionamento solo per i campi data

Le tabelle di Google BigQuery possono essere partizionate solo in una colonna con data o timestamp. Se vuoi aggiungere colonne in cluster a una PDT o a una tabella aggregata che non includa dati basati su data o ora, un modo è aggiungere una colonna di data utilizzando un'istruzione SQL come SELECT CURRENT_DATETIME() as now, quindi utilizzare partition_keys per eseguire il partizionamento nella nuova colonna. Puoi quindi utilizzare il clustering su altre colonne nella PDT o nella tabella aggregata.

Supporto del dialetto per cluster_keys

La possibilità di utilizzare cluster_keys dipende dal dialetto del database utilizzato dalla connessione di Looker. Nell'ultima release di Looker i seguenti dialetti supportano cluster_keys: