Skip to main content

Data Engineering

Nivel: Principiante/Junior/Intermedio

Generator

🚀 ¡¡Bienvenidos!!

Al primer Roadmap De Datos e introducción a la ingeniería de datos donde aprenderás trabajando en Proyectos reales con Project-1, Project-2. Con estos dos proyectos te permitirá aprender los principios de la ingeniería de datos desde cero. Bien sea que estés comenzando tu carrera como ingeniero de datos o quieras mejorar tus habilidades actuales (Principiante/Junior/Intermedio). con Project-1 y Project-2 podrás lograr tus objetivos.

Tendrás acceso a Machine-0, nuestra plataforma Linux, donde podrás desarrollar proyectos en la nube. 💻

No se requieren conocimientos previos, comenzamos desde cero. También ofrecemos material de refuerzo en Python y SQL, así como sesiones dedicadas al Cloud para el Azure Data Engineering Associate. 🐍🔍

Además, tendrás acceso a proyectos adicionales como Streaming de Datos y DevOps Basics. 🌐🛠

¿Por qué Proyectos?

🔍 Para que logres comprender el porque de Proyectos primero debemos hacernos una pregunta ¿Cuáles son los principios de la ingeniería de datos? La respuesta es muy sencilla: pipelines.

🔄 Los pipelines permiten modelar y automatizar el flujo de datos desde su captura hasta su almacenamiento y análisis.

Generator

📚 ¿Pero cómo puedes aprender estos principios? Practicando e interactuando con el stack tecnológico con el que se construyen los pipelines.

⚡️Machine-0, es nuestra plataforma en la nube donde podrás aprender/haciendo. Y lo mejor de todo: podrás hacerlo con un stack de datos real.

danger

Think Like Hacker La mayoría de las personas necesitan olvidar las viejas y obsoletas ideas sobre el aprendizaje, y comenzar a aprender y pensar como un hacker. Aquellas personas que requieren una forma de educación en la que se les diga exactamente qué hacer tienden a desempeñarse muy mal en carreras tecnológicas. Hablaremos más sobre esto durante el propio Boost cuando discutamos la naturaleza del verdadero aprendizaje.

Project-1

img

Objetivos Project-1

① Este Proyecto te lleva de la mano a través de una montaña rusa de conocimientos sobre cómo trabajar con datos en la nube. Empezamos con lo básico, como usar Docker y Terraform para hacer magia con tus entornos de desarrollo. ¿No sabes qué es Docker? ¡No te preocupes! Te lo explicaremos todo de manera sencilla.

② Después de entender cómo configurar tus entornos, nos adentramos en la parte divertida: ¡la orquestación de flujos de trabajo! Aprenderás a crear flujos de trabajo inteligentes para manejar tus datos de forma eficiente.

③ ¿Listo para jugar con datos reales? En nuestro taller de Ingestión de Datos, aprenderás a traer datos desde todas partes: APIs, bases de datos, ¡incluso tweets! Construirás tuberías de datos que escalan y normalizan datos para que sean más fáciles de manejar.

④ Después, nos sumergimos en BigQuery, una herramienta gigante que te ayudará a almacenar y analizar tus datos a gran escala. Te enseñaremos cómo usarla, desde lo básico hasta algunos trucos avanzados que te harán sentir como un mago de los datos.

⑤ ¿Qué es la ingeniería de analítica? No te preocupes, no es tan complicado como suena. Te mostraremos cómo construir y probar modelos de datos usando herramientas como dbt. Y lo mejor de todo, te enseñaremos a visualizar esos datos de manera sencilla y elegante usando Power BI y Metabase.

⑥ Aprenderás sobre el procesamiento por lotes y en streaming. Aprenderás cómo manejar grandes cantidades de datos de manera eficiente usando tecnologías como Spark y Kafka. ¡Sí, es tan emocionante como suena!

⑦ Al final, tendrás la oportunidad de aplicar todo lo que aprendiste en un proyecto práctico. Revisarás el trabajo de tus compañeros y te sentirás como un verdadero experto en datos en la nube. ¡Vamos a aprender!

Módulos

  • Module 1: Containerization and Infrastructure as Code
  • Module 2: Workflow Orchestration
  • Workshop 1: Data Ingestion
  • Module 3: Data Warehouse
  • Module 4: Analytics Engineering
  • Module 5: Batch processing
  • Module 6: Streaming
  • Workshop 2: Stream Processing with SQL
  • Project

Módulo 1: Contenerización e Infraestructura como Código

  • Visión general del Proyecto
  • Introducción a GCP
  • Docker y docker-compose
  • Ejecución de Postgres localmente con Docker
  • Configuración de infraestructura en GCP con Terraform
  • Preparación del entorno para el curso
  • Tarea
  • Más detalles

Módulo 2: Orquestación de Flujo de Trabajo

  • Lago de datos
  • Orquestación de flujo de trabajo
  • Orquestación de flujo de trabajo con Airflow
  • Tarea
  • Más detalles

Taller 1: Ingestión de Datos

  • Lectura desde APIs
  • Construcción de tuberías escalables
  • Normalización de datos
  • Carga incremental
  • Tarea
  • Más detalles

Módulo 3: Almacén de Datos

  • Almacén de Datos
  • BigQuery
  • Particionamiento y clustering
  • Mejores prácticas de BigQuery
  • Internos de BigQuery
  • Aprendizaje automático de BigQuery
  • Más detalles

Módulo 4: Ingeniería de Analítica

  • Conceptos básicos de ingeniería analítica
  • dbt (herramienta de construcción de datos)
  • BigQuery y dbt
  • Postgres y dbt
  • Modelos de dbt
  • Pruebas y documentación
  • Implementación en la nube y localmente
  • Visualización de datos con Google Data Studio y Metabase
  • Más detalles

Módulo 5: Procesamiento por lotes

  • Procesamiento por lotes
  • ¿Qué es Spark?
  • Dataframes de Spark
  • Spark SQL
  • Internos: GroupBy y joins
  • Más detalles

Módulo 6: Streaming

  • Introducción a Kafka
  • Esquemas (Avro)
  • Kafka Streams
  • Kafka Connect y KSQL
  • Más detalles

Project-2

🌟 Pero hay más, primero aprenderemos construyendo con un Pipeline de datos con Project-2 que es un proyecto del más alto nivel usando uno de los stacks de datos más modernos de la actualidad Airflow.

Generator

Con Project-2 aprenderás a utilizar un Stack tecnológico compuesto por PostgreSQL, Apache Airflow, Docker, Pandas y Python para construir un flujo de trabajo completo de procesamiento y análisis de datos. Comenzarás descargando datos desde un repositorio remoto y almacenándolos en una base de datos PostgreSQL. Posteriormente, realizarás modificaciones y análisis de estos datos utilizando la biblioteca Pandas, creando Dataframes específicos que serán almacenados en nuevas tablas en PostgreSQL. Además, automatizarás todo el proceso mediante la definición de tareas en Airflow, ejecutando estas tareas dentro de contenedores Docker para garantizar un entorno de ejecución consistente.

A lo largo de este proyecto, adquirirás habilidades prácticas en la configuración y uso de PostgreSQL para almacenamiento y consulta de datos, así como en la manipulación y análisis de datos con Pandas. Aprenderás a manejar la orquestación de flujos de trabajo con Apache Airflow, incluyendo la definición y gestión de DAGs (grafos acíclicos dirigidos) para la automatización de tareas. También te familiarizarás con Docker para la creación y manejo de contenedores, asegurando que tu entorno de desarrollo sea portable y reproducible. Este proyecto te proporcionará una experiencia integral en la implementación de soluciones de ingeniería de datos de principio a fin.

Objetivos Project-2

  1. Obtener y almacenar datos CSV en PostgreSQL:

    • Descargar un archivo CSV de un repositorio remoto.
    • Crear una tabla en PostgreSQL y cargar los datos del CSV en ella.
  2. Modificar datos con Pandas:

    • Recuperar los datos de la tabla, modificarlos y crear tres DataFrames separados.
  3. Insertar DataFrames modificados en PostgreSQL:

    • Crear tablas en PostgreSQL para cada DataFrame y cargar los datos modificados.
  4. Automatización con Airflow:

    • Automatizar el proceso mediante tareas de DAGs en Airflow.

Preparación y Configuración

  • Descargar y configurar PgAdmin o DBeaver para gestionar y visualizar las tablas de PostgreSQL.
  • Definir parámetros de conexión para PostgreSQL (host, base de datos, usuario, contraseña, puerto).
  • Instalar bibliotecas necesarias con pip install -r requirements.txt.

Conexión y Descarga de Datos

  1. Conectar al servidor PostgreSQL:
    • Establecer la conexión utilizando las credenciales definidas en variables de entorno.
  2. Descargar el archivo CSV:
    • Utilizar urllib.request para descargar el archivo desde una URL especificada y guardarlo en el directorio de trabajo.

Creación de Tabla y Carga de Datos

  1. Crear la tabla en PostgreSQL:
    • Definir y ejecutar la consulta SQL para crear la tabla churn_modelling.
  2. Cargar datos del CSV en la tabla:
    • Leer el CSV con Pandas y escribir los datos en la tabla fila por fila.

Modificación de Datos con Pandas

  1. Crear DataFrame base:
    • Recuperar los datos de la tabla churn_modelling y realizar modificaciones (manejo de valores nulos, cálculos de estadísticas).
  2. Crear tres DataFrames específicos:
    • df_creditscore: Promedio de crédito por geografía y género.
    • df_exited_age_correlation: Correlación entre edad, salario y estado de salida por geografía y género.
    • df_exited_salary_correlation: Correlación entre salida y salario estimado.

Inserción de DataFrames Modificados en PostgreSQL

  1. Crear nuevas tablas en PostgreSQL:
    • Crear tablas específicas para cada DataFrame (churn_modelling_creditscore, churn_modelling_exited_age_correlation, churn_modelling_exited_salary_correlation).
  2. Insertar los DataFrames en las nuevas tablas:
    • Insertar los datos de los DataFrames en sus respectivas tablas fila por fila.

Automatización con Airflow

  1. Configurar Airflow con Docker:
    • Clonar el repositorio de Airflow y construir el contenedor Docker.
  2. Definir DAG en Airflow:
    • Crear y configurar tareas de PythonOperator para ejecutar los scripts de carga y modificación de datos.
  3. Ejecutar y verificar el DAG:
    • Iniciar Airflow con Docker y ejecutar el DAG para verificar la correcta creación y llenado de las tablas en PostgreSQL.

Project-3

img

Machine-0 + Mini-Data-platform

img

Los proyecto se desarrollarán en Machine-0 nuestra ☸️plataforma Training y además haremos uso de nuestra mini-data-plataform construida en contenedores Docker. Esta plataforma de datos está respaldada por herramientas en contenedores docker, lo que te permitirá crear Pipelines de datos de extremo a extremo que utilizaremos en cada proyecto. Así podrás familiarizarte con todo el stack tecnológico que emplearemos durante el taller.

⚡Con Machine-0 podrás ejecutar más de 12 servicios en tu propio PC con nuestra Mini-Data-Platform:

  • Apache Airflow
  • Apache Zookeeper
  • Apache Kafka
  • Apache Hadoop HDFS
  • Apache Spark (PySpark-Scala-R)
  • Apache Hadoop YARN
  • Elasticsearch
  • Kibana
  • MinIO
  • Docker
  • Kubernetes
  • Python
  • PostgreSQL
  • Jupyter Notebook
  • DBT

🚀Con esto, contarás con tu propia Mini-Plataforma de datos para ejecutar todos los dos proyectos.

note

Con esta metodología, aprendes mucho más rápido Vs. el método tradicional, ya que trabajarás en un entorno empresarial, como si estuvieras en una empresa desarrollando un proyecto real.

Programa

Nuestro programa de ingeniería de datos que consta de 4 proyectos que van desde cero a un nivel intermedio.

  1. Nivel de entrada 🚀: Aprenderás con un stack que incluye Airflow, Docker, Postgres, Minio, Kafka, Spark, Jupyter Notebooks, entre otros.
  2. Airflow y creación de DAGS 📈: Enfocado en dominar Airflow y la creación de DAGS para la gestión de flujos de trabajo.
  3. Stream de datos 🌊: Trabaja con flujos de datos en tiempo real y las mejores prácticas.
  4. DevOps ⚙: Aprende sobre integración y entrega continua, automatización y más.

¡Una oportunidad increíble para desarrollar habilidades en ingeniería da datos! 🚀

¡Important!

Z2h no es una plataforma de videos on-demand; somos una infraestructura en la nube que proporciona entornos de desarrollo y potencia el aprendizaje a través de proyectos de alto nivel soportados por contenedores Docker. Desde nuestro punto de vista, estos proyectos no son posibles de realizar a menos que cuentes con estos tres componentes clave:

  • Linux: Como sistema operativo fundamental en el mundo tech, proporciona una base ideal para entornos de desarrollo ya que corre de manera nativa todo el stack del programa

  • Contenedores: Los contenedores Docker permiten empaquetar aplicaciones y sus dependencias de manera aislada, garantizando que funcionen de forma consistente en diferentes entornos.

  • Virtualización: La virtualización permite la creación de múltiples entornos virtuales. Esto es especialmente útil para realizar pruebas y desarrollar nuestros programas, ya que permite restablecer rápidamente el entorno a su estado inicial cuando algo se rompe o no funciona como debería.

note

Por esto, consideramos que somos los únicos que ofrecemos proyectos de alta complejidad con un stack de alto nivel, difíciles de replicar en entornos tradicionales. Por lo tanto, no desarrollamos ningún proyecto fuera de Linux, contenedores y máquinas virtuales, y trabajamos arduamente para que nuestros participantes puedan replicar con exactitud la documentación de cada proyecto.

note

Potencia informatica: A su vez, entendemos que muchos de ustedes no cuentan con PCs de altas prestaciones. Por ello, no solo ofrecemos entornos de desarrollo automatizados y preconfigurados, sino que también proporcionamos potencia a través de nodos con hasta 64 GB de RAM.

danger

Nuestro programa se soporta en dos servicios:

  1. Nuestra plataforma docs, donde encontrarás todas las guías de nuestros proyectos detalladas paso a paso, además de videos de acompañamiento.
  2. Nuestra plataforma en la nube, Machine-0, donde podrás desarrollar nuestros proyectos.

El costo es de 250 USD, que incluye 6 meses de acceso a nuestra plataforma en la nube Machine-0 y un año de acceso a nuestros docs. Además, te obsequiaremos Machine-0 Local para que ejecutes todo nuestro stack en tu propio PC, permitiendo a los participantes realizar actividades de alto nivel. Nuestra plataforma de datos, desarrollada utilizando contenedores, está compuesta por todo el stack preconfigurado con Docker, Kubernetes, MLflow, Linux, PostgreSQL, entre muchos otros.