Carica ed esegui query sui dati con lo strumento bq

Scopri come creare un set di dati, caricare dati di esempio ed eseguire query su tabelle con lo strumento a riga di comando bq.


Per seguire le indicazioni dettagliate per questa attività direttamente nella Google Cloud console, fai clic su Procedura guidata:

Procedura guidata


Prima di iniziare

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  4. Verify that billing is enabled for your Google Cloud project.

  5. Se non abiliti la fatturazione per il progetto Google Cloud che utilizzi in questo tutorial, carica ed esegui le query sui dati nella sandbox di BigQuery. La sandbox di BigQuery ti consente di scoprire BigQuery con un set limitato di funzionalità BigQuery senza costi aggiuntivi.

  6. Verifica che l'API BigQuery sia attivata.

    Abilita l'API

    Se hai creato un nuovo progetto, l'API BigQuery viene abilitata automaticamente.

  7. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

  8. 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.

    1. 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.zip
      
    2. Estrai il file.

      Per ulteriori informazioni sullo schema del set di dati, consulta il file NationalReadMe.pdf che hai estratto.

    3. 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.

    4. Sposta il file nella directory di lavoro.

      • Se stai lavorando in Cloud Shell, fai clic su Altro Carica, Scegli file, scegli il file yob2024.txt e fai clic Carica.

      • Se lavori in una shell locale, copia o sposta il file yob2024.txt nella directory in cui stai eseguendo lo strumento bq.

    Crea un set di dati

    1. Se hai avviato Cloud Shell dalla documentazione, inserisci il comando seguente per impostare l'ID progetto. In questo modo, non dovrai specificare l'ID progetto in ogni comando CLI.

      gcloud config set project PROJECT_ID
      

      Sostituisci PROJECT_ID con l'ID progetto.

    2. Inserisci il seguente comando per creare un set di dati denominato babynames:

      bq mk --dataset babynames
      

      L'output è simile al seguente:

      Dataset 'babynames' successfully created.
      
    3. Verifica che il set di dati babynames sia visualizzato nel progetto:

      bq ls --datasets=true
      

      L'output è simile al seguente:

        datasetId
      -------------
        babynames
      

    Carica i dati in una tabella

    1. Nel set di dati babynames, carica il file di origine yob2024.txt in una nuova tabella denominata names2024:

      bq load babynames.names2024 yob2024.txt name:string,assigned_sex_at_birth:string,count:integer
      

      L'output è simile al seguente:

      Upload complete.
      Waiting on bqjob_r3c045d7cbe5ca6d2_0000018292f0815f_1 ... (1s) Current status: DONE
      
    2. Verifica che la tabella names2024 sia visualizzata nel set di dati babynames:

      bq ls --format=pretty babynames
      

      L'output è simile al seguente. Alcune colonne vengono omesse per semplificare l'output.

      +-----------+-------+
      |  tableId  | Type  |
      +-----------+-------+
      | names2024 | TABLE |
      +-----------+-------+
      
    3. Verifica che lo schema della nuova tabella names2024 sia name: string, assigned_sex_at_birth: string e count: integer:

      bq show babynames.names2024
      

      L'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

    1. 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 |
      +-----------+-------+
      
    2. 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 account Google Cloud vengano addebitati costi relativi alle risorse utilizzate in questa pagina, elimina il progetto Google Cloud 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 creato per il tutorial.

    Per eliminare il progetto:

    1. In the Google Cloud console, go to the Manage resources page.

      Go to Manage resources

    2. In the project list, select the project that you want to delete, and then click Delete.
    3. In the dialog, type the project ID, and then click Shut down to delete the project.

    Elimina le risorse

    Se hai utilizzato un progetto esistente, elimina le risorse che hai creato:

    1. Elimina il set di dati babynames:

      bq rm --recursive=true babynames
      

      Il flag --recursive elimina tutte le tabelle nel set di dati, inclusa la tabella names2024.

      L'output è simile al seguente:

      rm: remove dataset 'myproject:babynames'? (y/N)
      
    2. Per confermare il comando di eliminazione, inserisci y.

    Passaggi successivi