Carga y consulta datos con la herramienta de bq

Obtén más información para crear un conjunto de datos, cargar datos de muestra y consultar tablas con la herramienta de línea de comandos de bq.


Para seguir la guía paso a paso en esta tarea directamente en la consola de Google Cloud, haz clic en Guía:

GUIARME


Antes de comenzar

  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. Make sure that billing is enabled for your Google Cloud project.

  5. Si no habilitas la facturación para el proyecto de Google Cloud que uses en este instructivo, trabajarás con los datos en la zona de pruebas de BigQuery. La zona de pruebas de BigQuery te permite comprender la plataforma con un conjunto limitado de funciones de BigQuery sin cargo.

  6. Asegúrate de que la API de BigQuery esté habilitada.

    Habilitación de la API

    Si creaste un proyecto nuevo, la API de BigQuery se habilita de forma automática.

  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.

Descarga el archivo de datos públicos de origen

  1. Descarga el archivo ZIP de nombres de bebés.
  2. Extrae el archivo ZIP. Contiene un archivo llamado NationalReadMe.pdf que describe el esquema del conjunto de datos. Obtén más información sobre el conjunto de datos de nombres de bebés.
  3. Abre el archivo yob2010.txt. Es un archivo de valores separados por comas (CSV) que contiene las siguientes tres columnas: nombre, sexo asignado al nacer y cantidad de bebés con ese nombre. El archivo no tiene una fila de encabezado.
  4. Mueve el archivo a tu directorio de trabajo.
    • Si trabajas en Cloud Shell, haz clic en Más > Subir, haz clic en Elegir archivos, elige el archivo yob2010.txt y, luego, haz clic enSubir.
    • Si trabajas en una shell local, copia o mueve el archivo yob2010.txt al directorio en el que ejecutas la herramienta de bq.

Crea un conjunto de datos

  1. Crea un conjunto de datos llamado babynames:

    bq mk babynames
    

    El resultado es similar a este:

    Dataset 'myproject:babynames' successfully created.
    

    El nombre de un conjunto de datos puede tener hasta 1,024 caracteres y estar compuesto por letras de la A a la Z (mayúsculas o minúsculas), números del 0 al 9 y guiones bajos. El nombre no puede comenzar con un número ni un guion bajo y no puede tener espacios.

  2. Confirma que el conjunto de datos babynames ahora aparezca en tu proyecto:

    bq ls
    

    El resultado es similar a este:

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

Carga datos en una tabla

  1. En el conjunto de datos babynames, carga el archivo de origen yob2010.txt en una tabla nueva llamada names2010:

    bq load babynames.names2010 yob2010.txt name:string,assigned_sex_at_birth:string,count:integer
    

    El resultado es similar a este:

    Upload complete.
    Waiting on bqjob_r3c045d7cbe5ca6d2_0000018292f0815f_1 ... (1s) Current status: DONE
    

    De manera predeterminada, cuando cargas datos, BigQuery espera que sean datos codificados en UTF-8. Si tienes datos en la codificación ISO-8859-1 (o Latin-1) y tienes problemas con ellos, indica a BigQuery que trate tus datos como Latin-1 con bq load -E=ISO-8859-1. Para obtener más información, consulta Codificación.

  2. Confirma que la tabla names2010 ahora aparezca en el conjunto de datos babynames:

    bq ls babynames
    

    El resultado es similar al siguiente. Algunas columnas se omiten para simplificar el resultado.

      tableId     Type
    ----------- ---------
     names2010    TABLE
    
  3. Confirma que el esquema de la tabla nueva de names2010 sea name: string, assigned_sex_at_birth: string y count: integer:

    bq show babynames.names2010
    

    El resultado es similar al siguiente. Algunas columnas se omiten para simplificar el resultado.

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

Consultar datos de tablas

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

    bq query --use_legacy_sql=false \
        'SELECT
          name,
          count
        FROM
          `babynames.names2010`
        WHERE
          assigned_sex_at_birth = "F"
        ORDER BY
          count DESC
        LIMIT 5;'
    

    El resultado es similar a este:

    +----------+-------+
    |   name   | count |
    +----------+-------+
    | Isabella | 22925 |
    | Sophia   | 20648 |
    | Emma     | 17354 |
    | Olivia   | 17030 |
    | Ava      | 15436 |
    +----------+-------+
    
  2. Determina los nombres de niños menos populares en los datos:

    bq query --use_legacy_sql=false \
        'SELECT
          name,
          count
        FROM
          `babynames.names2010`
        WHERE
          assigned_sex_at_birth = "M"
        ORDER BY
          count ASC
        LIMIT 5;'
    

    El resultado es similar a este:

    +----------+-------+
    |   name   | count |
    +----------+-------+
    | Aamarion |     5 |
    | Aarian   |     5 |
    | Aaqib    |     5 |
    | Aaidan   |     5 |
    | Aadhavan |     5 |
    +----------+-------+
    

    El conteo mínimo es de 5 porque los datos de origen omiten los nombres que aparecen menos de 5 veces.

Realiza una limpieza

Para evitar que se apliquen cargos a tu cuenta de Google Cloud por los recursos que se usaron en esta página, borra el proyecto de Cloud que tiene los recursos.

Borra el proyecto

Si usaste la zona de pruebas de BigQuery a fin de consultar el conjunto de datos públicos, la facturación no estará habilitada para tu proyecto.

La manera más fácil de eliminar la facturación es borrar el proyecto que creaste para el instructivo.

Para borrar el proyecto, haga lo siguiente:

  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.

Borra recursos

Si usaste un proyecto existente, borra los recursos que creaste:

  1. Borra el conjunto de datos babynames

    bq rm --recursive=true babynames
    

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

    El resultado es similar a este:

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

¿Qué sigue?