Consultar dados colunares

Esta página descreve como executar consultas em dados organizados em colunas.

Consultar dados colunares

A sugestão de consulta @{scan_method=columnar} permite que uma consulta leia dados em colunas. Pode definir a sugestão scan_method ao nível da declaração ou ao nível da tabela.

Por exemplo, pode usar as seguintes consultas para ler dados em colunas da tabela Singers e 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';

Consulte dados de colunas do Spanner através de consultas federadas do BigQuery

Para ler dados em colunas do Spanner a partir do BigQuery, pode criar um conjunto de dados externo ou usar a função EXTERNAL_QUERY.

Quando consulta conjuntos de dados externos, os dados em colunas são usados automaticamente se estiverem disponíveis e forem adequados para a sua consulta.

Se usar a função EXTERNAL_QUERY, inclua a dica @{scan_method=columnar} na consulta do Spanner aninhada.

No exemplo seguinte:

  • O primeiro argumento para EXTERNAL_QUERY especifica a ligação externa e o conjunto de dados, my-project.us.albums.
  • O segundo argumento é uma consulta SQL que seleciona MarketingBudget da tabela AlbumInfo onde MarketingBudget é inferior a 500 000.
  • A sugestão @{scan_method=columnar} otimiza a consulta externa para a análise colunar.
  • A declaração SELECT exterior calcula a soma dos valores devolvidos pela consulta externa.MarketingBudget
  • A cláusula AS total_marketing_spend atribui um alias à soma 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;');

O que se segue?