GSP685

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.
- Por ejemplo, la siguiente llamada a
bq help
recupera información sobre el comando query
:
bq help query
- 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.
-
Para ejecutar una consulta, ejecuta el comando bq query "[SQL_STATEMENT]"
:
-
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.
- 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
- 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.
- 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.
- 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)
- 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.
- 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
- Genera una lista del archivo:
ls
Mira el nombre del archivo agregado al proyecto
- Luego, descomprime el archivo:
unzip names.zip
- 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
- 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
- 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
- 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.
- 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 |
+----------+-------+
- 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
- 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
- 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.