chaves_de_cluster

Uso

view: view_name {
derived_table: {
cluster_keys: ["customer_city", "customer_state"]
...
}
}
Hierarquia
cluster_keys

- ou -

cluster_keys
Valor padrão
None

Aceita
Um ou mais nomes de colunas em cluster

Regras especiais
cluster_keys só é compatível com dialetos específicos.

Definição

O clustering de uma tabela particionada classifica os dados em uma partição com base nos valores das colunas em cluster e as organiza em blocos de armazenamento com o tamanho ideal. O clustering melhora o desempenho e reduz o custo das consultas que são filtradas ou agregadas pelas colunas em cluster.

Consulte a seção Suporte ao dialeto para cluster_keys abaixo para ver a lista de dialetos compatíveis com cluster_keys.

O parâmetro cluster_keys funciona apenas com tabelas permanentes, como PDTs e tabelas agregadas. cluster_keys não é compatível com tabelas derivadas sem uma estratégia de persistência.

Além disso, o parâmetro cluster_keys não é compatível com tabelas derivadas definidas usando create_process ou sql_create.

Por fim, o Google BigQuery oferece suporte ao clustering apenas em tabelas particionadas. O parâmetro cluster_keys funciona apenas com PDTs ou tabelas agregadas que também são particionadas usando o parâmetro partition_keys.

Para adicionar uma coluna em cluster a uma tabela derivada persistente (PDT, na sigla em inglês) ou uma tabela de agregação, use o parâmetro cluster_keys e forneça os nomes das colunas que você quer agrupar na tabela do banco de dados.

Examples

Crie uma tabela derivada nativa customer_order_facts em um banco de dados do Google BigQuery, particionada na coluna date e agrupada nas colunas city, age_tier e gender para otimizar as consultas filtradas ou agregadas nessas colunas:

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

Considerações

As tabelas do Google BigQuery podem ser particionadas apenas em campos de data

As tabelas do Google BigQuery só podem ser particionadas em uma coluna de data ou de carimbo de data/hora. Se você quiser adicionar colunas em cluster a uma PDT ou tabela agregada que não inclua dados com base em data ou hora, uma maneira de fazer isso é adicionar uma coluna de data usando uma instrução SQL, como SELECT CURRENT_DATETIME() as now, e usar partition_keys para particionar na nova coluna. Em seguida, use o clustering em outras colunas na sua tabela PDT ou agregada.

Suporte a dialetos para cluster_keys

A capacidade de usar cluster_keys depende do dialeto do banco de dados usado pela conexão do Looker. Na versão mais recente do Looker, os seguintes dialetos são compatíveis com cluster_keys: