Usar a ferramenta bq
Neste tutorial, você vai aprender a usar o bq, a ferramenta de interface de linha de comando (CLI) baseada em Python para o BigQuery, para criar um conjunto de dados, carregar dados de amostra e consultar tabelas. Depois de concluir este tutorial, você vai conhecer o bq e saber como trabalhar com o BigQuery usando uma CLI.
Para obter uma referência completa de todos os comandos e flags bq, consulte a
referência da ferramenta de linha de comando bq.
Antes de começar
-
In the Cloud de Confiance console, on the project selector page, select or create a Cloud de Confiance project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Cloud de Confiance project.
Verifique se a API BigQuery está ativada.
Se você criou um novo projeto, a API BigQuery será ativada automaticamente.
Faça o download dos dados da Administração de Previdência Social dos EUA abrindo o URL a seguir em uma nova guia do navegador:
https://www.ssa.gov/OACT/babynames/names.zipExtraia o arquivo.
Para mais informações sobre o esquema do conjunto de dados, consulte o arquivo
NationalReadMe.pdfextraído.Para conferir os dados, abra o arquivo
yob2024.txt. Esse arquivo contém valores separados por vírgula para nome, sexo atribuído no nascimento e número de crianças com esse nome. O arquivo não tem linha de cabeçalho.Mova o arquivo para o diretório de trabalho.
Se você estiver trabalhando no Cloud Shell, clique em
Mais Fazer upload, clique em Escolher arquivos, escolha o arquivoyob2024.txte clique em Fazer upload.Se estiver trabalhando em um shell local, copie ou mova o arquivo
yob2024.txtpara o diretório em que você está executando a ferramenta bq.
Insira o comando a seguir para criar um conjunto de dados chamado
babynames:bq mk --dataset babynamesO resultado será semelhante ao seguinte:
Dataset 'babynames' successfully created.Verifique se o conjunto de dados
babynamesagora aparece no seu projeto:bq ls --datasets=trueO resultado será assim:
datasetId ------------- babynamesNo conjunto de dados
babynames, carregue o arquivo de origemyob2024.txtem uma nova tabela chamadanames2024:bq load babynames.names2024 yob2024.txt name:string,assigned_sex_at_birth:string,count:integerO resultado será semelhante ao seguinte:
Upload complete. Waiting on bqjob_r3c045d7cbe5ca6d2_0000018292f0815f_1 ... (1s) Current status: DONEConfirme se a tabela
names2024agora aparece no conjunto de dadosbabynames:bq ls --format=pretty babynamesO resultado será semelhante ao seguinte: Algumas colunas são omitidas para simplificar o resultado.
+-----------+-------+ | tableId | Type | +-----------+-------+ | names2024 | TABLE | +-----------+-------+Confirme se o esquema da nova tabela
names2024éname: string,assigned_sex_at_birth: stringecount: integer:bq show babynames.names2024O resultado será semelhante ao seguinte: Algumas colunas são omitidas para simplificar a saída.
Last modified Schema Total Rows Total Bytes ----------------- ------------------------------- ------------ ------------ 14 Mar 17:16:45 |- name: string 31904 607494 |- assigned_sex_at_birth: string |- count: integerDetermine os nomes de meninas mais comuns nos dados:
bq query \ 'SELECT name, count FROM babynames.names2024 WHERE assigned_sex_at_birth = "F" ORDER BY count DESC LIMIT 5'O resultado será semelhante ao seguinte:
+-----------+-------+ | name | count | +-----------+-------+ | Olivia | 14718 | | Emma | 13485 | | Amelia | 12740 | | Charlotte | 12552 | | Mia | 12113 | +-----------+-------+Determine os nomes de meninos menos comuns nos dados:
bq query \ 'SELECT name, count FROM babynames.names2024 WHERE assigned_sex_at_birth = "M" ORDER BY count ASC LIMIT 5'O resultado será semelhante ao seguinte:
+---------+-------+ | name | count | +---------+-------+ | Aaran | 5 | | Aadiv | 5 | | Aadarsh | 5 | | Aarash | 5 | | Aadrik | 5 | +---------+-------+A contagem mínima é 5, porque os nomes com menos de 5 ocorrências não são exibidos nos dados de origem.
- In the Cloud de Confiance console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
Exclua o conjunto de dados
babynames:bq rm --recursive=true babynamesA flag
--recursiveexclui todas as tabelas do conjunto de dados, incluindo a tabelanames2024.O resultado será semelhante ao seguinte:
rm: remove dataset 'myproject:babynames'? (y/N)Para confirmar o comando de exclusão, insira
y.- Saiba mais sobre como usar a ferramenta bq.
- Saiba mais sobre o sandbox do BigQuery.
- Saiba como carregar dados no BigQuery.
- Saiba como consultar dados no BigQuery.
Se você não ativar o faturamento do projeto do Cloud de Confiance usado neste tutorial, carregue e consulte os dados no sandbox do BigQuery. O sandbox do BigQuery ensina você a usar o BigQuery com um conjunto limitado de recursos sem custos financeiros.
Fazer o download do arquivo que contém os dados de origem
Você está fazendo o download de um arquivo que tem aproximadamente 7 MB de dados com os nomes mais comuns de bebês. Ele é fornecido pela Administração da Previdência Social dos EUA.
Para mais informações sobre os dados, consulte as Informações básicas sobre nomes populares da Administração da Previdência Social.
crie um conjunto de dados
Carregar dados em uma tabela
Consultar os dados da tabela
Limpar
Para evitar cobranças na conta do Cloud de Confiance pelos recursos usados nesta página, siga as etapas abaixo.
Excluir o projeto
Se você usou o sandbox do BigQuery para consultar o conjunto de dados público, o faturamento não está ativado para seu projeto, e não é necessário excluir o projeto.O jeito mais fácil de evitar cobranças é excluindo o projeto que você criou para o tutorial.
Para excluir o projeto:
Excluir os recursos
Se você usou um projeto atual, exclua os recursos criados: