Track
Guía de BigQuery para principiantes
Mi contacto con los macrodatos comenzó hace más de 10 años como ingeniero de software que trabajaba en Ad-Tech. Por aquel entonces, los conjuntos de datos empezaron a crecer rápidamente y a explotar en tamaño.
Al mismo tiempo, era una gran oportunidad, pero también un reto.
De repente, las consultas para responder a preguntas básicas pero críticas sobre los informes llevaban horas. Como respuesta, en 2013 empecé a aprovechar las bases de datos orientadas a columnas, como BigQuery.
Estas bases de datos basadas en la nube nos permitieron ejecutar cargas analíticas de forma eficaz y rentable, y escalar los recursos en caso necesario.
En los últimos años, dirigí un gran equipo de ingenieros de datos que construyeron un almacén de datos BigQuery de más de 10 PB para seguir el ritmo de un catálogo de productos para el hogar en rápido crecimiento y de las crecientes necesidades analíticas.
Ahora, como CTO de DataCamp, dirijo diferentes equipos de ingeniería y contenidos para impulsar y permitir que nuestros usuarios aprendan y practiquen exactamente estas habilidades (entre muchas otras). Estoy convencido de que los almacenes de datos en la nube como BigQuery pueden hacer que muchos flujos de trabajo sean mucho más eficientes y sólidos. Por eso quiero compartir mis experiencias contigo en este tutorial.
En esta guía, aprenderás qué es BigQuery, cómo funciona y sus diferencias con los almacenes de datos tradicionales. Aprenderás a utilizar la consola BigQuery para consultar conjuntos de datos públicos proporcionados por Google con un ejemplo práctico de cómo consultar Google Trends para conocer temas populares.
¿Qué es BigQuery?
BigQuery es un almacén de datos totalmente gestionado desarrollado por Google que ayuda a gestionar y analizar datos. La arquitectura sin servidor de la herramienta permite a las organizaciones obtener información sobre su negocio y responder preguntas rápidamente. El motor analítico escalable y distribuido de BigQuery también permite a los usuarios consultar petabytes de datos mediante SQL.
Las interfaces de BigQuery incluyen la interfaz de la consola de Google Cloud y la herramienta de línea de comandos BigQuery. Además, proporciona a los desarrolladores bibliotecas cliente para lenguajes populares como C#, Go, Java, Node.js, PHP, Python y Ruby.
BigQuery proporciona capacidades integradas de aprendizaje automático y permite utilizar modelos entrenados externamente en VertexAI de Google Cloud Platform (GCP) e incluso importar modelos personalizados entrenados fuera de BigQuery.
Este tutorial es apropiado para analistas de datos, ingenieros de datos y administradores de almacenes de datos como introducción a BigQuery. Si después de este tutorial quieres profundizar en BigQuery, nuestro curso de introducción a BigQuery es un buen lugar para empezar.
Conviértete en Ingeniero de Datos
Almacén de Datos Tradicional vs Almacén de Datos en la Nube
Un almacén de datos tradicional se despliega in situ, lo que suele requerir elevados costes iniciales, un equipo cualificado para gestionarlo y una planificación adecuada para satisfacer la creciente demanda, debido a la naturaleza rígida del escalado de recursos de los centros de datos tradicionales.
Por otro lado, una solución de almacén de datos en la nube es gestionada y alojada por un proveedor de servicios en la nube.
Ventajas de los almacenes de datos en la nube
Normalmente, un almacén de datos en la nube tiene varias ventajas sobre los almacenes de datos tradicionales:
- Están construidos para escalar y aprovechar la flexibilidad del entorno de la nube
- Han mejorado la velocidad y el rendimiento
- Los precios flexibles y un entorno en la nube permiten optimizar los costes (por ejemplo, reducir la escala en épocas de baja demanda)
- Pueden gestionarse total o parcialmente, lo que reduce los costes operativos.
Bases de datos orientadas a filas frente a bases de datos orientadas a columnas
Ejemplo de base de datos orientada a filas:
Ejemplo de base de datos orientada a columnas:
Las bases de datos orientadas a filas son adecuadas para cargas de trabajo con búsquedas completas de filas, inserción de nuevos registros y manipulación. Por el contrario, esto las hace poco adecuadas para cargas de trabajo analíticas. Por ejemplo, consultar unas pocas columnas de una tabla con decenas de columnas supondría leer una gran cantidad de datos innecesarios (esto es habitual en cargas de trabajo analíticas, como la previsión de productos, los análisis ad hoc, etc.).
Las bases de datos orientadas a filas suelen ser adecuadas para el procesamiento de transacciones en línea (OLTP), y las orientadas a columnas para el procesamiento analítico en línea (OLAP).
OLTP vs OLAP
- OLTP es un tipo de sistema de base de datos utilizado en aplicaciones orientadas a transacciones. "En línea" significa que se espera que dichos sistemas respondan a las solicitudes de los usuarios y las procesen en tiempo real (es decir, que procesen transacciones).
- El término contrasta con el procesamiento analítico en línea (OLAP), que en cambio se centra en el análisis de datos.
Resumen de la comparación:
Base de datos por filas |
Base de datos orientada a columnas |
||||||
Almacenamiento |
Por Fila |
Por Columna |
|||||
Data retrieval |
Registros completos |
Columnas reveladoras |
|||||
Aplicación típica |
OLTP |
OLAP |
|||||
Operaciones rápidas |
Inserción, Actualizaciones, Consultas |
Consulta con fines informativos |
|||||
Datos de carga |
Normalmente un disco cada vez |
Normalmente por lotes |
|||||
Opciones populares |
Postgres, MySQL, Oracle, Microsoft SQL Server |
Snowflake, Google BigQuery, Amazon Redshift |
¿Cómo funciona BigQuery?
Una de las características clave de BigQuery es la separación del motor de cálculo y el almacenamiento, de modo que ambos pueden escalarse por separado, según las necesidades y la demanda. Esto permite a los usuarios consultar terabytes de datos en segundos y petabytes en minutos.
Cuando BigQuery ejecuta una consulta, el motor de consulta distribuye el trabajo en paralelo, escaneando las tablas relevantes en el almacenamiento, fusionando los resultados y devolviendo el conjunto de datos final.
Cómo empezar con BigQuery
En esta sección, veremos cómo acceder a BigQuery y cómo utilizar el sandbox de BigQuery. Normalmente, un sandbox es un entorno de pruebas que está aislado y permite experimentar fácilmente. El sandbox de BigQuery te permite experimentar BigQuery sin proporcionar una tarjeta de crédito ni crear una cuenta de facturación para tu proyecto.
Se puede acceder a BigQuery a través de Google Cloud Console. Tendrás que iniciar sesión con una cuenta de correo electrónico Gsuite (o crear una). Una vez iniciada la sesión, debería aparecer una pantalla de bienvenida:
Puedes encontrar BigQuery en la barra de menú de la izquierda. Si haces clic en él, accederás a la siguiente pantalla:
Utilizar el sandbox de BigQuery
Para utilizar BigQuery sandbox, primero crea un proyecto, haciendo clic en 'Seleccionar proyecto'.
A continuación, haz clic en "Nuevo proyecto":
Tendrás que proporcionar un nombre de proyecto; para esta guía, utilizaremos datacamp-guide-project
Ahora se muestra un aviso de sandbox en la página de BigQuery, que indica que has activado correctamente el sandbox de BigQuery.
Con el sandbox de BigQuery ya activado, puedes utilizar tu nuevo proyecto para cargar datos y realizar consultas, así como consultar conjuntos de datos públicos de Google.
Crear un conjunto de datos y una tabla
Antes de crear una tabla, tienes que crear un conjunto de datos en tu nuevo proyecto. Un conjunto de datos es un contenedor de nivel superior utilizado para organizar y controlar el acceso a un conjunto de tablas y vistas. Para crear un conjunto de datos, haz clic en el icono "Acciones" del proyecto:
A efectos de esta guía, rellenaremos "ID del conjunto de datos" con "principal".
Puedes crear una tabla utilizando SQL. BigQuery utiliza GoogleSQL, que es compatible con ANSI.
create table datacamp-guide-project.main.users ( id INT64 not null, first_name STRING NOT NULL, middle_name STRING, -- can be null last_name STRING NOT NULL, active_account BOOL NOT NULL, );
También puedes utilizar la interfaz de la Consola BigQuery:
Nota: No es posible insertar datos estando en un entorno sandbox. Si quieres probar a insertar datos, tienes que activar la prueba gratuita. Las siguientes secciones se centran en la consulta de conjuntos de datos públicos proporcionados como parte de Google Cloud.
Consulta un conjunto de datos público mediante la consola BigQuery
Para consultar un conjunto de datos público sigue los pasos que se indican a continuación:
1. Haz clic en "Añadir" junto al Explorador.
2. A continuación, elige un conjunto de datos.
3. Busca "Google Trends" y elige Google Trends, después haz clic en el botón "Ver conjunto de datos".
4. bigquery-public-data aparecerá con una larga lista de conjuntos de datos. Inicia bigquery-public-data para que se "pegue" en el explorador
Un ejemplo práctico utilizando el conjunto de datos Google Trends
Aprovecharemos la tabla top_terms
:
Haz clic en la tabla top_terms
para abrirla, e inspecciona la tabla Detalles y Vista previa para saber más sobre los datos de top_terms
.
Puedes consultar el conjunto de datos, como en el ejemplo siguiente, para obtener los términos que ocuparon la primera posición en las dos últimas semanas:
SELECT
term
FROM bigquery-public-data.google_trends.top_terms WHERE -- Filter only for first rank rank = 1 -- Filter to the last 2 weeks. AND refresh_date >= DATE_SUB(CURRENT_DATE(), INTERVAL 2 WEEK) GROUP BY term
Resultados (variarán):
Próximos pasos
Ya estás preparado para empezar a utilizar BigQuery. Google Cloud ofrece una prueba gratuita de 300 $. BigQuery ofrece varias opciones de pago. Para consultar, tienes 1 TB gratis al mes, y más allá son 6,25 $ por TB. Puedes encontrar más información sobre precios en la página de precios.
Para quienes estén interesados en una comprensión completa de la ingeniería de datos, incluido el trabajo con almacenes de datos basados en la nube como BigQuery, DataCamp ofrece una Vía de Aprendizaje para Ingenieros de Datos que abarca desde lo más básico hasta temas avanzados.
También puedes consultar nuestra hoja de trucos para comparar AWS, Azure y Google Cloud Platform y conocer mejor las herramientas disponibles.
Certifícate en el puesto de Ingeniero de Datos de tus sueños
Nuestros programas de certificación te ayudan a destacar y a demostrar que tus aptitudes están preparadas para el trabajo a posibles empleadores.
Director de Tecnología de DataCamp y Director General de la Plataforma de Aprendizaje. En mi puesto, dirijo los equipos que se centran en crear la tecnología y el plan de estudios que impulsan la experiencia de los alumnos de DataCamp.
¡Empieza hoy mismo con la Ingeniería de Datos!
Course
Introducción a la Ingeniería de Datos
Course