Explore e visualize dados no BigQuery a partir do JupyterLab
Esta página mostra alguns exemplos de como explorar e visualizar dados armazenados no BigQuery a partir da interface do JupyterLab da instância de blocos de notas geridos do Vertex AI Workbench.
Abra o JupyterLab
Na Google Cloud consola, aceda à página Blocos de notas geridos.
Junto ao nome da instância de blocos de notas geridos, clique em Abrir JupyterLab.
A sua instância de blocos de notas geridos abre o JupyterLab.
Leia dados do BigQuery
Nas duas secções seguintes, vai ler dados do BigQuery que vai usar para visualização mais tarde. Estes passos são idênticos aos descritos no artigo Consultar dados no BigQuery a partir do JupyterLab. Por isso, se já os tiver concluído, pode avançar para a secção Obter um resumo dos dados numa tabela do BigQuery.
Consulte dados através do comando mágico %%bigquery
Nesta secção, escreve SQL diretamente nas células do bloco de notas e lê dados do BigQuery para o bloco de notas do Python.
Os comandos mágicos que usam um caráter de percentagem único ou duplo (%
ou %%
) permitem-lhe usar uma sintaxe mínima para interagir com o BigQuery no bloco de notas. A biblioteca cliente do BigQuery para Python é instalada automaticamente numa instância de blocos de notas geridos. Nos bastidores, o comando mágico %%bigquery
usa a biblioteca cliente do BigQuery para Python para executar a consulta fornecida, converter os resultados num pandas DataFrame, opcionalmente guardar os resultados numa variável e, em seguida, apresentar os resultados.
Nota: a partir da versão 1.26.0 do pacote Python google-cloud-bigquery
, a API BigQuery Storage é usada por predefinição para transferir resultados dos comandos mágicos %%bigquery
.
Para abrir um ficheiro de bloco de notas, selecione Ficheiro > Novo > Bloco de notas.
Na caixa de diálogo Selecionar kernel, selecione Python (local) e, de seguida, clique em Selecionar.
O novo ficheiro IPYNB é aberto.
Para obter o número de regiões por país no conjunto de dados
international_top_terms
, introduza a seguinte declaração:%%bigquery SELECT country_code, country_name, COUNT(DISTINCT region_code) AS num_regions FROM `bigquery-public-data.google_trends.international_top_terms` WHERE refresh_date = DATE_SUB(CURRENT_DATE, INTERVAL 1 DAY) GROUP BY country_code, country_name ORDER BY num_regions DESC;
Clique em
Executar célula.O resultado é semelhante ao seguinte:
Query complete after 0.07s: 100%|██████████| 4/4 [00:00<00:00, 1440.60query/s] Downloading: 100%|██████████| 41/41 [00:02<00:00, 20.21rows/s] country_code country_name num_regions 0 TR Turkey 81 1 TH Thailand 77 2 VN Vietnam 63 3 JP Japan 47 4 RO Romania 42 5 NG Nigeria 37 6 IN India 36 7 ID Indonesia 34 8 CO Colombia 33 9 MX Mexico 32 10 BR Brazil 27 11 EG Egypt 27 12 UA Ukraine 27 13 CH Switzerland 26 14 AR Argentina 24 15 FR France 22 16 SE Sweden 21 17 HU Hungary 20 18 IT Italy 20 19 PT Portugal 20 20 NO Norway 19 21 FI Finland 18 22 NZ New Zealand 17 23 PH Philippines 17 ...
Na célula seguinte (abaixo da saída da célula anterior), introduza o comando seguinte para executar a mesma consulta, mas desta vez guarde os resultados num novo DataFrame pandas denominado
regions_by_country
. Fornece esse nome através de um argumento com o comando mágico%%bigquery
.%%bigquery regions_by_country SELECT country_code, country_name, COUNT(DISTINCT region_code) AS num_regions FROM `bigquery-public-data.google_trends.international_top_terms` WHERE refresh_date = DATE_SUB(CURRENT_DATE, INTERVAL 1 DAY) GROUP BY country_code, country_name ORDER BY num_regions DESC;
Nota: para mais informações sobre os argumentos disponíveis para o comando
%%bigquery
, consulte a documentação de comandos mágicos da biblioteca de cliente.Clique em
Executar célula.Na célula seguinte, introduza o seguinte comando para ver as primeiras linhas dos resultados da consulta que acabou de ler:
regions_by_country.head()
Clique em
Executar célula.O pandas DataFrame
regions_by_country
está pronto para ser representado graficamente.
Consultar dados através da biblioteca cliente do BigQuery diretamente
<
Obtenha um resumo dos dados numa tabela do BigQuery
Nesta secção, vai usar um atalho do bloco de notas para obter estatísticas de resumo e visualizações para todos os campos de uma tabela do BigQuery. Esta pode ser uma forma rápida de criar um perfil dos seus dados antes de explorar mais a fundo.
A biblioteca de cliente do BigQuery fornece um comando mágico,
%bigquery_stats
, que pode chamar com um nome de tabela específico para fornecer uma
vista geral da tabela e estatísticas detalhadas sobre cada uma das colunas
da tabela.
Na célula seguinte, introduza o seguinte código para executar essa análise na tabela US
top_terms
:%bigquery_stats bigquery-public-data.google_trends.top_terms
Clique em
Executar célula.Após a execução durante algum tempo, é apresentada uma imagem com várias estatísticas sobre cada uma das 7 variáveis na tabela
top_terms
. A imagem seguinte mostra parte de alguns exemplos de resultados:
google_trends
Visualize dados do BigQuery
Nesta secção, usa capacidades de representação gráfica para visualizar os resultados das consultas que executou anteriormente no seu bloco de notas do Jupyter.
Na célula seguinte, introduza o seguinte código para usar o método pandas
DataFrame.plot()
para criar um gráfico de barras que visualize os resultados da consulta que devolve o número de regiões por país:regions_by_country.plot(kind="bar", x="country_name", y="num_regions", figsize=(15, 10))
Clique em
Executar célula.O gráfico é semelhante ao seguinte:
Na célula seguinte, introduza o seguinte código para usar o método pandas
DataFrame.plot()
para criar um gráfico de dispersão que visualize os resultados da consulta para a percentagem de sobreposição nos principais termos de pesquisa por dias de diferença:pct_overlap_terms_by_days_apart.plot( kind="scatter", x="days_apart", y="pct_overlap_terms", s=len(pct_overlap_terms_by_days_apart["num_date_pairs"]) * 20, figsize=(15, 10) )
Clique em
Executar célula.O gráfico é semelhante ao seguinte. A dimensão de cada ponto reflete o número de pares de datas que estão separados por esse número de dias nos dados. Por exemplo, existem mais pares com uma diferença de 1 dia do que com uma diferença de 30 dias, porque os principais termos de pesquisa são apresentados diariamente durante cerca de um mês.
Para mais informações sobre a visualização de dados, consulte a documentação do pandas.