arrow_back

bq para Google BigQuery

Acceder Unirse
Obtén acceso a más de 700 labs y cursos

bq para Google BigQuery

Lab 15 minutos universal_currency_alt Sin costo show_chart Introductorio
info Es posible que este lab incorpore herramientas de IA para facilitar tu aprendizaje.
Obtén acceso a más de 700 labs y cursos

GSP685

Logotipo de los labs de autoaprendizaje de Google Cloud

Descripción general

Almacenar y consultar grandes conjuntos de datos puede consumir bastante tiempo y dinero cuando no se cuenta con el hardware y la infraestructura adecuados. BigQuery es un almacén de datos en la nube, sin servidores y altamente escalable, que resuelve este problema a través de consultas rápidas en SQL, gracias a la potencia de procesamiento de la infraestructura de Google. Simplemente traslada tus datos a BigQuery y deja que Google Cloud se encargue del trabajo duro. Puedes controlar el acceso al proyecto y a tus datos (por ejemplo, puedes otorgar permisos de visualización o consulta de datos) según tus necesidades empresariales.

Puedes acceder a BigQuery mediante la consola, la IU web o una herramienta de línea de comandos que use diversas bibliotecas cliente como Java, .NET o Python. También hay una variedad de proveedores de soluciones que puedes usar para interactuar con BigQuery.

Esto es lo que aprenderás

En este lab práctico, se muestra cómo usar bq, la herramienta de línea de comandos basada en Python de BigQuery, para consultar tablas públicas y cargar datos de muestra en BigQuery.

  • Consultar un conjunto de datos públicos
  • Crear un conjunto de datos nuevo
  • Cargar datos en una tabla nueva
  • Consultar una tabla personalizada

Configuración y requisitos

  • Los labs se cronometran y no se pueden pausar. El cronómetro comienza a funcionar cuando haces clic en Comenzar lab.
  • La terminal de Cloud incluida está preconfigurada con el SDK de gcloud.
  • Usa la terminal para ejecutar comandos y, luego, haz clic en Revisar mi progreso para verificar tu trabajo.

Tarea 1. Examina una tabla

BigQuery ofrece una variedad de tablas de muestra en las que puedes ejecutar consultas. En este lab, ejecutarás algunas consultas en la tabla shakespeare, que contiene una entrada por cada palabra que aparece en cada obra.

  • Para examinar el esquema de la tabla Shakespeare en el conjunto de datos de muestra, ejecuta el siguiente comando en la terminal en la nube:
bq show bigquery-public-data:samples.shakespeare

Con este comando, realizas las siguientes acciones:

  • bq para invocar la herramienta de línea de comandos de BigQuery
  • show es la acción
  • Luego, ingresas el nombre del project:public dataset.table que deseas ver en BigQuery

Resultado:

Last modified Schema Total Rows Total Bytes Expiration Time Partitioning Clustered Fields Labels ----------------- ------------------------------------ ------------ ------------- ------------ ------------------- ------------------ -------- 14 Mar 13:16:45 |- word: string (required) 164656 6432064 |- word_count: integer (required) |- corpus: string (required) |- corpus_date: integer (required)

Tarea 2. Ejecuta el comando de ayuda

Puedes obtener información sobre un comando si incluyes su nombre a continuación del comando help.

  1. Por ejemplo, la siguiente llamada a bq help recupera información sobre el comando query:
bq help query
  1. Para ver la lista completa de los comandos que usa bq, ejecuta el comando de ayuda bq help.

Tarea 3. Ejecuta una consulta

Ahora, ejecutarás una consulta para ver cuántas veces aparece la subcadena raisin en las obras de Shakespeare.

  1. Para ejecutar una consulta, ejecuta el comando bq query "[SQL_STATEMENT]":

    • Reemplaza cualquier comilla dentro de [SQL_STATEMENT] por \.

    • Usa un tipo de comillas distinto de las circundantes ("versus").

  2. Ejecuta la siguiente consulta en SQL estándar en la terminal de Cloud para registrar el número de veces que la subcadena raisin aparece en todas las obras de Shakespeare:

bq query --use_legacy_sql=false \ 'SELECT word, SUM(word_count) AS count FROM `bigquery-public-data`.samples.shakespeare WHERE word LIKE "%raisin%" GROUP BY word'

En este comando, la siguiente instrucción:

  • --use_legacy_sql=false hace que el SQL estándar sea la sintaxis de consulta de forma predeterminada.

Resultado:

Waiting on job_e19 ... (0s) Current status: DONE +---------------+-------+ | word | count | +---------------+-------+ | praising | 8 | | Praising | 4 | | raising | 5 | | dispraising | 2 | | dispraisingly | 1 | | raisins | 1 |

La tabla demuestra que, si bien la palabra raisin no aparece nunca, las letras que la conforman aparecen en ese orden en varias de las obras del autor.

Haz clic en Revisar mi progreso para verificar el objetivo.

Ejecutar una consulta (conjunto de datos: samples, tabla: shakespeare, subcadena: raisin)

Si buscas una palabra que no está en las obras de Shakespeare, no se mostrarán resultados.

  1. Ejecuta la siguiente búsqueda de huzzah, que no muestra ninguna coincidencia:
bq query --use_legacy_sql=false \ 'SELECT word FROM `bigquery-public-data`.samples.shakespeare WHERE word = "huzzah"'

Haz clic en Revisar mi progreso para verificar el objetivo.

Ejecutar una consulta (conjunto de datos: samples, tabla: shakespeare, subcadena: huzzah)

Tarea 4. Crea una tabla nueva

Ahora, crea tu propia tabla. Cada tabla se almacena dentro de un conjunto de datos. Un conjunto de datos es un conjunto de recursos, como tablas y vistas.

Crea un conjunto de datos nuevo

  1. Utiliza el comando bq ls para enumerar los conjuntos de datos existentes en tu proyecto:
bq ls

Como el proyecto aún no tiene conjuntos de datos, te redirigirá a la línea de comandos.

  1. Ejecuta bq ls y el ID del proyecto bigquery-public-data para listar los conjuntos de datos en ese proyecto específico, seguido de dos puntos (:):
bq ls bigquery-public-data:

Resultado:

datasetId ----------------------------- austin_311 austin_bikeshare austin_crime austin_incidents austin_waste baseball bitcoin_blockchain bls census_bureau_construction census_bureau_international census_bureau_usa census_utility chicago_crime ...

Luego, crea un conjunto de datos. El nombre de un conjunto de datos puede tener hasta 1,024 caracteres y llevar mayúsculas, minúsculas, números del 0 al 9 y guion bajo, pero no puede comenzar con un número o un guion bajo ni tener espacios.

  1. Usa el comando bq mk para crear un conjunto de datos nuevo con el nombre babynames en tu proyecto:
bq mk babynames

Resultado de muestra:

Dataset 'qwiklabs-xxx-xx-xxxxxxxxxxxx:babynames' successfully created..

Haz clic en Revisar mi progreso para verificar el objetivo.

Crear un conjunto de datos nuevo (nombre: babynames)
  1. Ejecuta bq ls para confirmar que el conjunto de datos aparece ahora como parte del proyecto:
bq ls

Resultado de muestra:

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

Sube el conjunto de datos

Antes de generar la tabla, deberás agregar el conjunto de datos al proyecto. El archivo de datos personalizados que usarás contiene alrededor de 7 MB de datos con nombres populares de bebés proporcionados por la Administración de Seguridad Social de EE.UU.

  1. Ejecuta este comando para agregar el archivo ZIP baby names al proyecto con la URL del archivo de datos:
wget http://www.ssa.gov/OACT/babynames/names.zip
  1. Genera una lista del archivo:
ls

Mira el nombre del archivo agregado al proyecto

  1. Luego, descomprime el archivo:
unzip names.zip
  1. Como puedes ver, se trata de una larga lista de archivos de texto. Genera una lista de los archivos nuevamente:
ls

El comando bq load crea o actualiza una tabla y carga los datos en un solo paso.

Usarás el comando bq load para cargar el archivo fuente en una tabla nueva llamada names2010 en el conjunto de datos babynames que acabas de crear. De forma predeterminada, este proceso se ejecuta sincrónicamente y tarda unos segundos.

Los argumentos bq load que se ejecutarán son:

datasetID: babynames tableID: names2010 source: yob2010.txt schema: name:string,gender:string,count:integer
  1. Crea la tabla:
bq load babynames.names2010 yob2010.txt name:string,gender:string,count:integer

Resultado de muestra:

Waiting on job_4f0c0878f6184119abfdae05f5194e65 ... (35s) Current status: DONE

Haz clic en Revisar mi progreso para verificar el objetivo.

Cargar los datos en una tabla nueva
  1. Ejecuta bq ls y babynames para confirmar que la tabla aparece ahora en el conjunto de datos:
bq ls babynames

Resultado:

tableId Type ----------- ------- names2010 TABLE
  1. Ejecuta bq show y el dataset.table para ver el esquema:
bq show babynames.names2010

Resultado:

Last modified Schema Total Rows Total Bytes Expiration Time Partitioning Clustered Fields Labels ----------------- ------------------- ------------ ------------- ----------------- ------------------- ------------------ -------- 13 Aug 14:37:34 |- name: string 34073 654482 12 Oct 14:37:34 |- gender: string |- count: integer

De manera predeterminada, cuando cargas datos, BigQuery espera que sean datos codificados en UTF-8. Si cargaste datos codificados en formato ISO-8859-1 (o Latin-1) y tienes problemas con los datos cargados, puedes pedirle a BigQuery que los procese en formato Latin-1 explícitamente usando la marca -E. Para obtener más información sobre las codificaciones de caracteres, consulta la guía Introducción a la carga de datos.

Tarea 5. Ejecuta consultas

Ya sabes todo lo que necesitas para consultar los datos y obtener algunos resultados interesantes.

  1. Ejecuta el siguiente comando para mostrar los 5 nombres de niña más populares:
bq query "SELECT name,count FROM babynames.names2010 WHERE gender = 'F' ORDER BY count DESC LIMIT 5"

Resultado:

Waiting on job_58c0f5ca52764ef1902eba611b71c651 ... (0s) Current status: DONE +----------+-------+ | name | count | +----------+-------+ | Isabella | 22913 | | Sophia | 20643 | | Emma | 17345 | | Olivia | 17028 | | Ava | 15433 | +----------+-------+
  1. Ejecuta el siguiente comando para ver los 5 nombres de niño más raros:
bq query "SELECT name,count FROM babynames.names2010 WHERE gender = 'M' ORDER BY count ASC LIMIT 5"

Nota:El recuento mínimo es de 5 porque los datos fuente omiten los nombres que aparecen menos de 5 veces.

Resultado:

Waiting on job_556ba2e5aad340a7b2818c3e3280b7a3 ... (1s) Current status: DONE +----------+-------+ | name | count | +----------+-------+ | Aaqib | 5 | | Aaidan | 5 | | Aadhavan | 5 | | Aarian | 5 | | Aamarion | 5 | +----------+-------+

Haz clic en Revisar mi progreso para verificar el objetivo.

Ejecutar consultas en la tabla del conjunto de datos

Tarea 6. Realiza una limpieza

  1. Ejecuta el comando bq rm para quitar el conjunto de datos babynames con la marca -r y así eliminar todas las tablas del conjunto de datos:
bq rm -r babynames
  1. Escribe Y para confirmar el comando borrar.

Haz clic en Revisar mi progreso para verificar el objetivo.

Quitar el conjunto de datos babynames

¡Felicitaciones!

Ahora puedes usar la línea de comandos para consultar tablas públicas y cargar datos de muestra en BigQuery.

Próximos pasos y más información

Obtén más información sobre BigQuery y la herramienta de línea de comandos de bq:

Capacitación y certificación de Google Cloud

Recibe la formación que necesitas para aprovechar al máximo las tecnologías de Google Cloud. Nuestras clases incluyen habilidades técnicas y recomendaciones para ayudarte a avanzar rápidamente y a seguir aprendiendo. Para que puedas realizar nuestros cursos cuando más te convenga, ofrecemos distintos tipos de capacitación de nivel básico a avanzado: a pedido, presenciales y virtuales. Las certificaciones te ayudan a validar y demostrar tus habilidades y tu conocimiento técnico respecto a las tecnologías de Google Cloud.

Última actualización del manual: 26 de mayo de 2025

Prueba más reciente del lab: 26 de mayo de 2025

Copyright 2025 Google LLC. All rights reserved. Google y el logotipo de Google son marcas de Google LLC. Los demás nombres de productos y empresas pueden ser marcas de las respectivas empresas a las que estén asociados.

Antes de comenzar

  1. Los labs crean un proyecto de Google Cloud y recursos por un tiempo determinado
  2. .
  3. Los labs tienen un límite de tiempo y no tienen la función de pausa. Si finalizas el lab, deberás reiniciarlo desde el principio.
  4. En la parte superior izquierda de la pantalla, haz clic en Comenzar lab para empezar

Usa la navegación privada

  1. Copia el nombre de usuario y la contraseña proporcionados para el lab
  2. Haz clic en Abrir la consola en modo privado

Accede a la consola

  1. Accede con tus credenciales del lab. Si usas otras credenciales, se generarán errores o se incurrirá en cargos.
  2. Acepta las condiciones y omite la página de recursos de recuperación
  3. No hagas clic en Finalizar lab, a menos que lo hayas terminado o quieras reiniciarlo, ya que se borrará tu trabajo y se quitará el proyecto

Este contenido no está disponible en este momento

Te enviaremos una notificación por correo electrónico cuando esté disponible

¡Genial!

Nos comunicaremos contigo por correo electrónico si está disponible

Un lab a la vez

Confirma para finalizar todos los labs existentes y comenzar este

Usa la navegación privada para ejecutar el lab

Usa una ventana de navegación privada o de Incógnito para ejecutar el lab. Así evitarás cualquier conflicto entre tu cuenta personal y la cuenta de estudiante, lo que podría generar cargos adicionales en tu cuenta personal.