En esta página, se describe cómo ejecutar consultas en datos organizados en columnas.
Consulta datos de columnas
La sugerencia de consulta @{scan_method=columnar} permite que una consulta lea datos en formato de columnas.
Puedes establecer la sugerencia scan_method a nivel de la instrucción o de la tabla.
Por ejemplo, puedes usar las siguientes consultas para leer datos de columnas de las tablas Singers y Messages:
- @{scan_method=columnar} SELECT COUNT(*) FROM Singers;
- SELECT COUNT(*) FROM Singers @{scan_method=columnar};
- @{scan_method=columnar} SELECT m.MsgBlob FROM Messages WHERE m.id='1234';
Consulta datos en columnas de Spanner con consultas federadas de BigQuery
Para leer datos de columnas de Spanner desde BigQuery, puedes crear un conjunto de datos externo o usar la función EXTERNAL_QUERY.
Cuando consultas conjuntos de datos externos, se usan automáticamente los datos en formato de columnas si están disponibles y son adecuados para tu consulta.
Si usas la función EXTERNAL_QUERY, incluye la sugerencia @{scan_method=columnar} en la consulta anidada de Spanner.
En el siguiente ejemplo:
- El primer argumento de EXTERNAL_QUERYespecifica la conexión externa y el conjunto de datos,my-project.us.albums.
- El segundo argumento es una consulta en SQL que selecciona MarketingBudgetde la tablaAlbumInfodondeMarketingBudgetes menor que 500,000.
- La sugerencia @{scan_method=columnar}optimiza la consulta externa para el análisis columnar.
- La instrucción SELECTexterna calcula la suma de los valores deMarketingBudgetque devuelve la consulta externa.
- La cláusula AS total_marketing_spendasigna un alias a la suma calculada.
SELECT SUM(MarketingBudget) AS total_marketing_spend
FROM
  EXTERNAL_QUERY(
    'my-project.us.albums',
    '@{scan_method=columnar} SELECT AlbumInfo.MarketingBudget FROM AlbumInfo WHERE AlbumInfo.MarketingBudget < 500000;');
¿Qué sigue?
- Obtén más información sobre el motor de columnas.
- Obtén más información para habilitar el motor de columnas.
- Obtén más información para supervisar el motor de columnas.