claves_clúster

Uso

view: view_name {
derived_table: {
cluster_keys: ["customer_city", "customer_state"]
...
}
}
Jerarquía
cluster_keys

- o -

cluster_keys
Valor predeterminado
None

Acepta
Uno o más nombres de columna agrupados en clústeres

Reglas especiales
cluster_keys solo es compatible con dialectos específicos

Definición

El agrupamiento en clústeres de una tabla particionada ordena los datos en una partición según los valores de las columnas agrupadas y organiza las columnas agrupadas en bloques de almacenamiento de tamaño óptimo. La agrupación en clústeres puede mejorar el rendimiento y reducir el costo de las consultas que filtran o agregan según las columnas agrupadas.

Consulta la sección Compatibilidad de dialectos para cluster_keys a continuación para ver la lista de dialectos que admiten cluster_keys.

El parámetro cluster_keys solo funciona con tablas que son persistentes, como PDT y tablas agregadas. cluster_keys no es compatible con las tablas derivadas sin una estrategia de persistencia.

Además, el parámetro cluster_keys no es compatible con tablas derivadas que se definen mediante create_process o sql_create.

Por último, Google BigQuery solo admite el agrupamiento en clústeres en tablas particionadas. El parámetro cluster_keys funciona solo con PDT o tablas agregadas que también están particionadas con el parámetro partition_keys.

Para agregar una columna agrupada en clústeres a una tabla derivada persistente (PDT) o a una tabla agregada, usa el parámetro cluster_keys y proporciona los nombres de las columnas que deseas agrupar en clústeres en la tabla de la base de datos.

Ejemplos

Crea una tabla derivada nativa customer_order_facts en una base de datos de Google BigQuery, particionada en la columna date y agrupada en las columnas city, age_tier y gender para optimizar las consultas que se filtran o agregan en esas columnas:

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

Aspectos para tener en cuenta

Las tablas de Google BigQuery solo pueden particionar en campos de fecha

Las tablas de Google BigQuery se pueden particionar solo en una columna de fecha o de marca de tiempo. Si deseas agregar columnas agrupadas en clústeres a una tabla de PDT o de agregación que no incluye datos basados en fecha o hora, una forma de hacerlo es agregar una columna de fecha mediante una instrucción de SQL, como SELECT CURRENT_DATETIME() as now, y luego usar partition_keys para realizar particiones en la columna nueva. Luego, puedes usar el agrupamiento en clústeres en otras columnas de tu tabla PDT o de agregación.

Asistencia telefónica para cluster_keys

La capacidad de usar cluster_keys depende del dialecto de la base de datos que usa tu conexión de Looker. En la versión más reciente de Looker, los siguientes dialectos son compatibles con cluster_keys: