Cargar y consultar datos con la herramienta bq

Aprende a crear un conjunto de datos, cargar datos de muestra y consultar tablas con la herramienta de línea de comandos bq.


Para seguir las instrucciones paso a paso de esta tarea directamente en la Google Cloud consola, haga clic en Ayúdame:

Guíame


Antes de empezar

  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.

    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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. In the Google Cloud console, on the project selector page, select or create a Google Cloud 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

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

  5. Si no habilitas la facturación en el Google Cloud proyecto que uses en este tutorial, podrás cargar y consultar los datos en el entorno aislado de BigQuery. El entorno aislado de BigQuery te permite familiarizarte con BigQuery con un conjunto limitado de funciones de BigQuery sin coste económico.

  6. Compruebe que la API de BigQuery esté habilitada.

    Habilitar la API

    Si has creado un proyecto, la API de BigQuery se habilita automáticamente.

  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. Descargar el archivo que contiene los datos de origen

    El archivo que vas a descargar contiene aproximadamente 7 MB de datos sobre nombres de bebés populares. La proporciona la Administración de la Seguridad Social de EE. UU.

    Para obtener más información sobre los datos, consulta el artículo Información general sobre nombres populares de la Administración de la Seguridad Social.

    1. Descarga los datos de la Administración de la Seguridad Social de EE. UU. abriendo la siguiente URL en una nueva pestaña del navegador:

      https://www.ssa.gov/OACT/babynames/names.zip
      
    2. Extrae el archivo.

      Para obtener más información sobre el esquema del conjunto de datos, consulta el archivo NationalReadMe.pdf que has extraído.

    3. Para ver el aspecto de los datos, abre el archivo yob2024.txt. Este archivo contiene valores separados por comas para el nombre, el sexo asignado al nacer y el número de niños con ese nombre. El archivo no contiene ninguna fila de cabecera.

    4. Mueve el archivo al directorio de trabajo.

      • Si estás trabajando en Cloud Shell, haz clic en Más Subir, haz clic en Elegir archivos, selecciona el archivo yob2024.txt y, a continuación, haz clic en Subir.

      • Si estás trabajando en un shell local, copia o mueve el archivo yob2024.txt al directorio en el que estés ejecutando la herramienta bq.

    Crear conjunto de datos

    1. Si has iniciado Cloud Shell desde la documentación, introduce el siguiente comando para definir el ID de tu proyecto. De esta forma, no tendrás que especificar el ID del proyecto en cada comando de la CLI.

      gcloud config set project PROJECT_ID
      

      Sustituye PROJECT_ID por el ID del proyecto.

    2. Introduce el siguiente comando para crear un conjunto de datos llamado babynames:

      bq mk --dataset babynames
      

      El resultado debería ser similar al siguiente:

      Dataset 'babynames' successfully created.
      
    3. Confirma que el conjunto de datos babynames aparece en tu proyecto:

      bq ls --datasets=true
      

      El resultado debería ser similar al siguiente:

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

    Cargar datos en una tabla

    1. En el conjunto de datos babynames, cargue el archivo de origen yob2024.txt en una tabla nueva llamada names2024:

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

      El resultado debería ser similar al siguiente:

      Upload complete.
      Waiting on bqjob_r3c045d7cbe5ca6d2_0000018292f0815f_1 ... (1s) Current status: DONE
      
    2. Confirma que la tabla names2024 aparece ahora en el conjunto de datos babynames:

      bq ls --format=pretty babynames
      

      La salida es similar a la siguiente. Se han omitido algunas columnas para simplificar el resultado.

      +-----------+-------+
      |  tableId  | Type  |
      +-----------+-------+
      | names2024 | TABLE |
      +-----------+-------+
      
    3. Confirma que el esquema de la tabla names2024 que has creado es name: string, assigned_sex_at_birth: string y count: integer:

      bq show babynames.names2024
      

      La salida es similar a la siguiente. Se han omitido algunas columnas para simplificar el resultado.

        Last modified        Schema                      Total Rows   Total Bytes
      ----------------- ------------------------------- ------------ ------------
      14 Mar 17:16:45   |- name: string                    31904       607494
                        |- assigned_sex_at_birth: string
                        |- count: integer
      

    Consultar datos de tablas

    1. Determina los nombres de niña más populares de los datos:

      bq query \
          'SELECT
            name,
            count
          FROM
            babynames.names2024
          WHERE
            assigned_sex_at_birth = "F"
          ORDER BY
            count DESC
          LIMIT 5'
      

      El resultado debería ser similar al siguiente:

      +-----------+-------+
      |   name    | count |
      +-----------+-------+
      | Olivia    | 14718 |
      | Emma      | 13485 |
      | Amelia    | 12740 |
      | Charlotte | 12552 |
      | Mia       | 12113 |
      +-----------+-------+
      
    2. Determina los nombres de niño menos populares de los datos:

      bq query \
          'SELECT
            name,
            count
          FROM
            babynames.names2024
          WHERE
            assigned_sex_at_birth = "M"
          ORDER BY
            count ASC
          LIMIT 5'
      

      El resultado debería ser similar al siguiente:

      +---------+-------+
      |  name   | count |
      +---------+-------+
      | Aaran   |     5 |
      | Aadiv   |     5 |
      | Aadarsh |     5 |
      | Aarash  |     5 |
      | Aadrik  |     5 |
      +---------+-------+
      

      El recuento mínimo es 5 porque los datos de origen omiten los nombres con menos de 5 apariciones.

    Limpieza

    Para evitar que se apliquen cargos en tu Google Cloud cuenta por los recursos utilizados en esta página, elimina el Google Cloud proyecto con los recursos.

    Eliminar el proyecto

    Si has usado el entorno aislado de BigQuery para consultar el conjunto de datos público, la facturación no estará habilitada en tu proyecto y no tendrás que eliminarlo.

    La forma más fácil de evitar que te cobren es eliminar el proyecto que has creado para el tutorial.

    Para ello, sigue las instrucciones que aparecen a continuación:

    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.

    Eliminar los recursos

    Si has usado un proyecto que ya existía, elimina los recursos que hayas creado:

    1. Elimina el conjunto de datos babynames:

      bq rm --recursive=true babynames
      

      La marca --recursive elimina todas las tablas del conjunto de datos, incluida la tabla names2024.

      El resultado debería ser similar al siguiente:

      rm: remove dataset 'myproject:babynames'? (y/N)
      
    2. Para confirmar el comando de eliminación, introduce y.

    Siguientes pasos