Utilizza lo strumento bq
In questo tutorial, imparerai a utilizzare bq, lo strumento a riga di comando (CLI) basato su Python per BigQuery, per creare un set di dati, caricare dati di esempio ed eseguire query sulle tabelle. Al termine di questo tutorial, avrai familiarità con bq e con l'utilizzo di BigQuery tramite una CLI.
Per un riferimento completo a tutti i comandi e i flag bq, consulta la
documentazione di riferimento per lo strumento a riga di comando bq.
Prima di iniziare
-
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 role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.
-
Abilita l'API BigQuery.
Ruoli richiesti per abilitare le API
Per abilitare le API, devi disporre del ruolo IAM Amministratore utilizzo servizi (
roles/serviceusage.serviceUsageAdmin), che contiene l'autorizzazioneserviceusage.services.enable. Scopri come concedere i ruoli.Per i nuovi progetti, l'API BigQuery viene abilitata automaticamente.
- (Facoltativo): Abilita la fatturazione per il progetto. Se non vuoi abilitare la fatturazione o fornire una carta di credito, i passaggi descritti in questo documento funzionano comunque. BigQuery ti fornisce una sandbox per eseguire i passaggi. Per saperne di più, consulta Attiva la sandbox di BigQuery.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per creare un set di dati, creare una tabella, caricare dati ed eseguire query sui dati, chiedi all'amministratore di concederti i seguenti ruoli IAM nel progetto:
-
Esegui job di caricamento e job di query:
Utente job BigQuery (
roles/bigquery.jobUser) -
Crea un set di dati, crea una tabella, carica i dati in una tabella ed esegui query su una tabella:
Editor dati BigQuery (
roles/bigquery.dataEditor)
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.
Scaricare il file contenente i dati di origine
Il file che stai scaricando contiene circa 7 MB di dati relativi a nomi comuni di bambini. Viene fornito dalla Social Security Administration degli Stati Uniti.
Per ulteriori informazioni sui dati, consulta le informazioni di base sui nomi comuni della Social Security Administration.
Per scaricare i dati della Social Security Administration degli Stati Uniti, apri il seguente URL in una nuova scheda del browser:
https://www.ssa.gov/OACT/babynames/names.zipEstrai il file.
Per ulteriori informazioni sullo schema del set di dati, consulta il file
NationalReadMe.pdfche hai estratto.Per vedere i dati, apri il file
yob2024.txt. Questo file contiene valori separati da virgola relativi a nome, sesso assegnato alla nascita e numero di figli con quel nome. Il file non ha una riga di intestazione.Sposta il file nella directory di lavoro.
Se stai lavorando in Cloud Shell, fai clic su
Altro Carica, Scegli file, scegli il fileyob2024.txte fai clic Carica.Se lavori in una shell locale, copia o sposta il file
yob2024.txtnella directory in cui stai eseguendo lo strumento bq.
Crea un set di dati
Inserisci il seguente comando per creare un set di dati denominato
babynames:bq mk --dataset babynamesL'output è simile al seguente:
Dataset 'babynames' successfully created.Verifica che il set di dati
babynamessia visualizzato nel progetto:bq ls --datasets=trueL'output è simile al seguente:
datasetId ------------- babynames
Carica i dati in una tabella
Nel set di dati
babynames, carica il file di origineyob2024.txtin una nuova tabella denominatanames2024:bq load babynames.names2024 yob2024.txt name:string,assigned_sex_at_birth:string,count:integerL'output è simile al seguente:
Upload complete. Waiting on bqjob_r3c045d7cbe5ca6d2_0000018292f0815f_1 ... (1s) Current status: DONEVerifica che la tabella
names2024sia visualizzata nel set di datibabynames:bq ls --format=pretty babynamesL'output è simile al seguente. Alcune colonne vengono omesse per semplificare l'output.
+-----------+-------+ | tableId | Type | +-----------+-------+ | names2024 | TABLE | +-----------+-------+Verifica che lo schema della nuova tabella
names2024sianame: string,assigned_sex_at_birth: stringecount: integer:bq show babynames.names2024L'output è simile al seguente. Alcune colonne vengono omesse per semplificare l'output.
Last modified Schema Total Rows Total Bytes ----------------- ------------------------------- ------------ ------------ 14 Mar 17:16:45 |- name: string 31904 607494 |- assigned_sex_at_birth: string |- count: integer
Esegui query sui dati della tabella
Determina i nomi femminili più popolari nei dati:
bq query \ 'SELECT name, count FROM babynames.names2024 WHERE assigned_sex_at_birth = "F" ORDER BY count DESC LIMIT 5'L'output è simile al seguente:
+-----------+-------+ | name | count | +-----------+-------+ | Olivia | 14718 | | Emma | 13485 | | Amelia | 12740 | | Charlotte | 12552 | | Mia | 12113 | +-----------+-------+Determina i nomi maschili meno popolari nei dati:
bq query \ 'SELECT name, count FROM babynames.names2024 WHERE assigned_sex_at_birth = "M" ORDER BY count ASC LIMIT 5'L'output è simile al seguente:
+---------+-------+ | name | count | +---------+-------+ | Aaran | 5 | | Aadiv | 5 | | Aadarsh | 5 | | Aarash | 5 | | Aadrik | 5 | +---------+-------+Il numero minimo è 5 perché i dati di origine omettono i nomi con meno di 5 occorrenze.
Esegui la pulizia
Per evitare che al tuo Cloud de Confiance account vengano addebitati costi relativi alle risorse utilizzate in questa pagina, elimina il Cloud de Confiance progetto con le risorse.
Elimina il progetto
Se hai utilizzato la sandbox di BigQuery per eseguire query sul set di dati pubblico, la fatturazione non è abilitata per il tuo progetto e non devi eliminare il progetto.Il modo più semplice per eliminare la fatturazione è eliminare il progetto che hai creato per il tutorial.
Per eliminare il progetto:
- Nella Cloud de Confiance console, vai alla pagina Gestisci risorse.
- Nell'elenco dei progetti, seleziona il progetto che vuoi eliminare, quindi fai clic su Elimina.
- Nella finestra di dialogo, digita l'ID del progetto e fai clic su Chiudi per eliminare il progetto.
Elimina le risorse
Se hai utilizzato un progetto esistente, elimina le risorse che hai creato:
Elimina il set di dati
babynames:bq rm --recursive=true babynamesIl flag
--recursiveelimina tutte le tabelle nel set di dati, inclusa la tabellanames2024.L'output è simile al seguente:
rm: remove dataset 'myproject:babynames'? (y/N)Per confermare il comando di eliminazione, inserisci
y.
Passaggi successivi
- Scopri di più sulla sandbox di BigQuery.
- Scopri di più sul caricamento dei dati in BigQuery.
- Scopri di più sull'esecuzione di query sui dati in BigQuery.