Introducción a la Ingeniería de Datos - Módulo 2: Semana 2

Descripción

En esta semana, profundizaremos en el ciclo de vida de la ingeniería de datos y sus aspectos subyacentes, que se introdujeron en la semana anterior. Aprenderemos sobre las etapas del ciclo de vida de los datos, desde la generación hasta la disponibilidad para su uso en análisis y aprendizaje automático.

Contenido de la Semana

Ciclo de Vida de la Ingeniería de Datos

El ciclo de vida de la ingeniería de datos se compone de varias etapas clave:

  1. Generación de Datos:
  2. Ocurre en sistemas de origen antes de que comience el trabajo del ingeniero de datos.

  3. Ingestión:

  4. Proceso de obtener datos crudos de diversas fuentes.

  5. Transformación:

  6. Conversión de datos crudos en información útil.

  7. Almacenamiento:

  8. Guardar los datos transformados para su uso posterior.

  9. Servir Datos:

  10. Hacer que los datos estén disponibles para casos de uso como análisis y aprendizaje automático.

Aspectos Subyacentes del Ciclo de Vida

En la segunda lección de esta semana, exploraremos los siguientes aspectos subyacentes:

Enfoque de Aprendizaje

Es importante destacar que el enfoque de esta semana, al igual que el de la semana anterior, se centra más en un marco mental de alto nivel para la ingeniería de datos que en la construcción real de infraestructura de datos. Este marco mental es crucial para el éxito en todos los aspectos del trabajo como ingeniero de datos.

Actividad Práctica

Al final de la semana, aplicaremos este marco mental en la práctica utilizando AWS Cloud. En la actividad de laboratorio, trabajarás en tu primer pipeline de datos en la nube de extremo a extremo.

Conclusión

Únete a mí en el próximo video para comenzar a explorar la generación de datos y los sistemas de origen.


Introducción a la Generación de Datos en Sistemas de Origen

La primera etapa del ciclo de vida de la ingeniería de datos es la generación de datos y los sistemas de origen. Como ingeniero de datos, tu rol implica consumir datos de diversas fuentes. A continuación, se presentan los conceptos clave sobre la generación de datos en sistemas de origen.

Fuentes Comunes de Datos

1. Bases de Datos

Las bases de datos son uno de los sistemas de origen más comunes. Pueden ser: - Bases de datos relacionales: Representadas como tablas de datos relacionados. - Sistemas NoSQL: Incluyen bases de datos de clave-valor, almacenes de documentos, entre otros.

2. Archivos

Los datos también pueden ser consumidos en forma de archivos, tales como: - Archivos de texto - Archivos de audio (por ejemplo, MP3) - Archivos de video - Otros tipos de archivos

3. APIs (Interfaz de Programación de Aplicaciones)

Las APIs permiten realizar solicitudes web para obtener datos en formatos específicos, como XML o JSON.

4. Plataformas de Compartición de Datos

Estas plataformas permiten a las organizaciones compartir datos internamente o con terceros.

5. Dispositivos IoT (Internet de las Cosas)

Los dispositivos IoT son cada vez más comunes y pueden transmitir datos en tiempo real a una base de datos, accesibles a través de APIs o plataformas de compartición de datos.

Desafíos en la Generación de Datos

En un mundo ideal, los sistemas de origen entregarían datos de manera consistente y oportuna. Sin embargo, en la realidad, estos sistemas pueden ser impredecibles. Algunos de los problemas comunes incluyen: - Caídas del sistema - Cambios en el formato o esquema de los datos - Cambios en los datos mismos

Ejemplo de Desafío

Un ingeniero de datos recuerda un incidente en el que un equipo de ingenieros de software reorganizó las columnas de una base de datos sin notificarlo, lo que interrumpió los flujos de trabajo de datos downstream.

Importancia de la Colaboración

Es esencial comprender cómo están configurados los sistemas de origen y qué cambios se pueden esperar en los datos. Para tener éxito, es recomendable: - Trabajar directamente con los propietarios de los sistemas de origen. - Entender cómo generan datos y cómo estos pueden cambiar con el tiempo. - Evaluar cómo esos cambios impactarán en los sistemas downstream que construyes.

Desarrollar buenas relaciones de trabajo con los interesados de los sistemas de origen es una parte crucial de la ingeniería de datos.

Conclusión

La generación de datos en sistemas de origen es un aspecto fundamental en la ingeniería de datos. En el próximo video, se explorará la fase de ingestión de datos desde estos sistemas de origen.


Tabla Resumen de Sistemas de Origen

Tipo de Sistema Descripción
Bases de Datos Relacionales y NoSQL
Archivos Texto, audio, video, etc.
APIs Solicitudes web para obtener datos
Plataformas de Datos Compartición de datos entre organizaciones
Dispositivos IoT Transmisión de datos en tiempo real

Lista de Desafíos Comunes

¡Únete al próximo video para aprender sobre la ingestión de datos desde sistemas de origen!


Introducción a la Ingestión de Datos

La ingestión de datos es un paso fundamental en la ingeniería de datos, donde se mueve información cruda desde sistemas de origen hacia un pipeline de datos para su posterior procesamiento. Este proceso puede representar uno de los mayores cuellos de botella en el ciclo de vida de la ingeniería de datos.

Conceptos Clave

  1. Sistemas de Origen: Entender cómo funcionan y generan datos es crucial para evitar problemas comunes en la fase de ingestión.
  2. Frecuencia de Ingestión: Decidir con qué frecuencia se debe mover la información desde los sistemas de origen hacia el pipeline de datos es una decisión crítica. Las opciones incluyen:
  3. Ingestión por Lotes: Procesar datos en intervalos de tiempo predefinidos (por ejemplo, cada hora o cada día).
  4. Ingestión en Streaming: Procesar datos en tiempo real, haciendo que estén disponibles para sistemas posteriores casi inmediatamente.

Comparación entre Ingestión por Lotes y Streaming

Característica Ingestión por Lotes Ingestión en Streaming
Frecuencia de Ingestión Periódica (ej. diaria, horaria) Continua, en tiempo real
Herramientas Procesamiento por lotes Plataformas de streaming de eventos
Casos de Uso Análisis, reportes semanales Detección de anomalías en tiempo real
Costos Generalmente menor en tiempo y recursos Puede ser más costoso en mantenimiento
Ejemplo de Uso Modelos de trading Monitoreo en tiempo real

Consideraciones para la Ingestión

Recomendaciones

Conclusión

La ingestión de datos es un componente esencial en la ingeniería de datos, y la elección entre ingestión por lotes y streaming debe basarse en un análisis cuidadoso de los requisitos del negocio y las características de los datos. En el próximo video, exploraremos el almacenamiento de datos, que es parte integral de cada etapa en el ciclo de vida de la ingeniería de datos.


Introducción a la Ingeniería de Datos - Módulo 2: Almacenamiento

Descripción

En este módulo, exploraremos cómo interactuamos con los sistemas de almacenamiento de datos en nuestra vida diaria y cómo estos conceptos son fundamentales para el trabajo de un ingeniero de datos. Discutiremos los diferentes tipos de almacenamiento, sus características, y cómo elegir las soluciones adecuadas para nuestras arquitecturas.

Interacción Diaria con Sistemas de Almacenamiento

Componentes de Almacenamiento

Tipo de Almacenamiento Velocidad de Lectura/Escritura Costo Relativo Volatilidad
Discos Magnéticos Lenta Bajo No
SSD Rápida Moderado No
RAM Muy Rápida Alto

Comparación de Almacenamiento

Sistemas de Almacenamiento Modernos

Abstracciones de Almacenamiento

Jerarquía de Almacenamiento

  1. Ingredientes Crudos: Discos, RAM, SSD, redes, serialización.
  2. Sistemas de Almacenamiento: Bases de datos, almacenamiento de objetos.
  3. Abstracciones de Almacenamiento: Herramientas que combinan sistemas para satisfacer necesidades de almacenamiento.

Importancia del Conocimiento en Almacenamiento

Conclusión

Como ingeniero de datos, es esencial ser consciente de las soluciones de almacenamiento y sus implicaciones. A lo largo de este curso, profundizaremos en los detalles de diversas soluciones de almacenamiento y su impacto en el ciclo de vida de la ingeniería de datos.

Próximo Tema

En el siguiente módulo, abordaremos la siguiente etapa del ciclo de vida de la ingeniería de datos: la transformación de datos.


Introducción a la Ingeniería de Datos - Módulo 2: Consultas, Modelado y Transformación

Descripción

En este módulo, se explora la etapa de transformación del ciclo de vida de la ingeniería de datos, donde los ingenieros de datos añaden valor al convertir datos en bruto en información útil para los usuarios finales. Se abordan tres componentes clave: consultas, modelado y transformación.

Contenido

1. La Etapa de Transformación

La transformación es el proceso de convertir datos en bruto en información útil. Esto es crucial para los analistas de negocios y científicos de datos, quienes dependen de datos bien estructurados para realizar análisis y reportes.

2. Componentes de la Transformación

La transformación se compone de tres partes:

2.1 Consultas

Las consultas son solicitudes para leer registros de una base de datos o sistema de almacenamiento. Se utiliza principalmente SQL (Structured Query Language) para realizar estas consultas.

Ejemplo de elementos en una consulta: - Limpieza de datos - Uniones (joins) - Agregaciones

Consecuencias de consultas mal escritas: - Impacto en el rendimiento de la base de datos - "Explosión de filas" (row explosion) - Retrasos en reportes y análisis

2.2 Modelado de Datos

El modelado de datos implica elegir una estructura coherente para los datos, reflejando las relaciones con el mundo real. Es esencial para hacer que los datos sean útiles para el negocio.

Ejemplo de modelado: - Normalización y desnormalización de datos para facilitar el acceso a los analistas.

Aspectos a considerar: - Definiciones y terminología de los stakeholders - Objetivos comerciales relacionados con los datos

2.3 Transformación de Datos

La transformación de datos implica manipular y enriquecer los datos para su uso posterior. Esto puede incluir:

3. Ejercicios Prácticos

A lo largo del curso, se realizarán ejercicios prácticos que involucrarán consultas, modelado y transformación de datos.

Conclusión

La etapa de transformación es fundamental en el ciclo de vida de la ingeniería de datos, y comprender sus componentes es esencial para proporcionar datos útiles a los usuarios finales. En el próximo video, se abordará la etapa final del ciclo de vida de la ingeniería de datos: la entrega de datos para casos de uso posteriores.


Introducción a la Ingeniería de Datos - Módulo 2: Servir Datos

Descripción

En esta lección, exploramos la etapa final del ciclo de vida de la ingeniería de datos: servir datos. Esta fase no solo implica hacer que los datos estén disponibles, sino que también permite a los interesados extraer valor comercial de ellos. A continuación, se presentan los conceptos clave y los casos de uso asociados con esta etapa.

Contenido

Fases del Ciclo de Vida de la Ingeniería de Datos

  1. Ingesta de Datos
  2. Transformación de Datos
  3. Almacenamiento de Datos
  4. Servir Datos

Casos de Uso para Servir Datos

Los datos tienen valor cuando se utilizan para casos de uso prácticos, como:

1. Analítica

La analítica implica identificar insights y patrones clave dentro de los datos. Los ingenieros de datos sirven datos que alimentan las siguientes formas comunes de analítica:

2. Aprendizaje Automático

El rol del ingeniero de datos puede incluir servir datos para:

3. Reverse ETL

Este proceso implica tomar datos transformados y alimentarlos de nuevo en sistemas de origen. Ejemplo:

Resumen

Hemos revisado las fases del ciclo de vida de la ingeniería de datos y los diferentes casos de uso para servir datos. En la próxima lección, profundizaremos en los aspectos subyacentes de cada fase del ciclo de vida.

Tabla Resumen de Casos de Uso

Caso de Uso Descripción
Inteligencia de Negocios (BI) Análisis de datos históricos y actuales para decisiones estratégicas.
Analítica Operativa Monitoreo de datos en tiempo real para acciones inmediatas.
Analítica Embebida Aplicaciones que muestran datos a los usuarios.
Aprendizaje Automático Servir datos para entrenamiento de modelos y decisiones en tiempo real.
Reverse ETL Alimentar datos transformados de vuelta a sistemas de origen.

Conclusión

La etapa de servir datos es crucial para maximizar el valor de los datos en diversas aplicaciones. A medida que avanzamos en el curso, exploraremos más a fondo cada uno de estos casos de uso y sus implicaciones en la ingeniería de datos.


Introducción a la Ingeniería de Datos: Módulo 2

Descripción

En este módulo, se explora el ciclo de vida de la ingeniería de datos, que incluye la ingesta, transformación, almacenamiento y entrega de datos a los usuarios finales. La ingeniería de datos ha evolucionado significativamente en la última década, ampliando su alcance más allá de la tecnología.

Evolución de la Ingeniería de Datos

Prácticas Clave en Ingeniería de Datos

Las prácticas que se aplican a lo largo del ciclo de vida de la ingeniería de datos se conocen como "corrientes subyacentes". Estas incluyen:

Corrientes Subyacentes Descripción
Seguridad Protección de datos y cumplimiento normativo.
Gestión de Datos Estrategias para la organización y calidad de datos.
DataOps Prácticas para mejorar la colaboración y la eficiencia en el manejo de datos.
Arquitectura de Datos Diseño y estructura de sistemas de datos.
Orquestación Coordinación de procesos y flujos de trabajo.
Ingeniería de Software Desarrollo y mantenimiento de software relacionado con datos.

Próximos Pasos

En los próximos videos, se examinarán más a fondo cada una de estas corrientes subyacentes. Posteriormente, se explorará cómo el ciclo de vida de la ingeniería de datos y estas corrientes se manifiestan en la práctica, específicamente en la nube de AWS.

¡Comencemos!


Introducción a la Seguridad en la Ingeniería de Datos

Descripción

En este documento se resumen los conceptos clave sobre la seguridad en la ingeniería de datos, basados en la transcripción del video del módulo 2 del curso "Introducción a la Ingeniería de Datos". Se abordan principios fundamentales, mejores prácticas y la importancia de la cultura de seguridad en las organizaciones.

Principios Fundamentales de Seguridad

  1. Confianza en el Manejo de Datos Sensibles
  2. Los ingenieros de datos son responsables de proteger información personal y empresarial sensible.
  3. La confianza de los propietarios de datos es crucial.

  4. Principio de Mínimos Privilegios

  5. Proporcionar acceso solo a los datos y recursos necesarios para realizar tareas específicas.
  6. Aplicar este principio tanto a otros usuarios como a uno mismo.

  7. Sensibilidad de los Datos

  8. Hacer visible la información sensible solo cuando sea absolutamente necesario.
  9. Evitar la ingestión de datos sensibles sin un propósito claro.

  10. Seguridad en la Nube

  11. Comprender la gestión de identidad y acceso (IAM), métodos de cifrado y protocolos de red.

Mejores Prácticas

Tabla de Comparación de Principios de Seguridad

Principio Descripción
Mínimos Privilegios Acceso limitado a datos y recursos necesarios.
Sensibilidad de Datos Visibilidad de información sensible solo cuando es necesario.
Prevención de Filtraciones Conciencia sobre errores humanos y ataques comunes.
Cultura de Seguridad Compromiso organizacional con la seguridad de datos.

Conclusión

La seguridad en la ingeniería de datos no solo se basa en principios y protocolos, sino también en la responsabilidad individual y colectiva. A medida que avanzamos en el curso, se explorarán más aspectos de la seguridad en la arquitectura de datos.

Próximo Tema

En el próximo video, se abordará la gestión de datos como un componente clave en el ciclo de vida de la ingeniería de datos.


Introducción a la Gestión de Datos

Descripción

En este documento se resumen los conceptos clave sobre la gestión de datos, su importancia y las áreas de conocimiento que la componen, según el módulo 2 del curso de Introducción a la Ingeniería de Datos. Se hace énfasis en el papel del ingeniero de datos y la relevancia de la calidad de los datos.

Importancia de la Gestión de Datos

La gestión de datos es crucial para maximizar el valor de los activos de datos en una organización. La Data Management Association International (DAMA) es una organización dedicada a proporcionar recursos para una gestión de datos efectiva. Su publicación principal, el Data Management Book of Knowledge (DMBOK), es un recurso valioso para entender las prácticas de gestión de datos.

Definición de Gestión de Datos

Según el DMBOK, la gestión de datos se define como:

"El desarrollo, ejecución y supervisión de planes, programas y prácticas que entregan, controlan, protegen y mejoran el valor de los activos de datos e información a lo largo de su ciclo de vida."

Áreas de Conocimiento en Gestión de Datos

La gestión de datos abarca múltiples facetas y disciplinas. El DMBOK identifica 11 áreas de conocimiento en gestión de datos, que incluyen:

Área de Conocimiento
Gobernanza de Datos
Modelado de Datos
Integración de Datos
Interoperabilidad
Metadatos
Seguridad
Calidad de Datos
Usabilidad
Gestión de Datos Maestros
Almacenamiento de Datos
Arquitectura de Datos

Gobernanza de Datos

La gobernanza de datos es una función de gestión de datos que asegura la calidad, integridad, seguridad y usabilidad de los datos recolectados en una organización. Esta área interactúa con otras áreas de conocimiento y es fundamental para el éxito de la gestión de datos.

Calidad de los Datos

La calidad de los datos es un tema profundo y matizado, pero se puede resumir en los siguientes puntos clave:

Los datos de alta calidad son herramientas poderosas para la toma de decisiones y aportan un gran valor a la organización. En contraste, los datos de baja calidad pueden llevar a decisiones erróneas y afectar negativamente a la organización.

Conclusión

La gestión de datos es un aspecto esencial en la ingeniería de datos. A lo largo del curso, se explorarán más a fondo las áreas de conocimiento y se aprenderá cómo monitorear y asegurar la calidad de los datos en los pipelines de datos. En el próximo video, se abordará la arquitectura de datos y su relación con el ciclo de vida de los datos.


Introducción a la Arquitectura de Datos

La arquitectura de datos puede considerarse como un mapa o plano para los sistemas de datos de una organización. En este módulo, exploraremos los principios clave que guían el diseño de sistemas de datos efectivos y cómo estos pueden adaptarse a las necesidades cambiantes de una empresa.

Definición de Arquitectura de Datos

Según el libro Fundamentals of Data Engineering de Matt Housley y el autor de este curso, la arquitectura de datos se define como:

"El diseño de sistemas para apoyar las necesidades de datos en evolución de una empresa, logrado a través de decisiones flexibles y reversibles alcanzadas mediante una cuidadosa evaluación de compensaciones."

Desglose de la Definición

  1. Evolución de las Necesidades de Datos: La arquitectura de datos debe soportar no solo las necesidades actuales, sino también las futuras. Esto implica que el diseño es un esfuerzo continuo.

  2. Decisiones Flexibles y Reversibles: Las decisiones tomadas deben permitir adaptaciones a medida que las necesidades de la organización cambian.

  3. Evaluación de Compensaciones: Las decisiones de diseño deben considerar factores como rendimiento, costo y escalabilidad.

Principios de una Buena Arquitectura de Datos

A continuación, se presentan los principios fundamentales que se revisarán a lo largo del curso:

Principio Descripción
1. Elegir componentes comunes sabiamente Seleccionar componentes que ofrezcan las características adecuadas para proyectos individuales y faciliten la colaboración entre equipos.
2. Planificar para el fracaso Diseñar la arquitectura no solo para el funcionamiento óptimo, sino también para situaciones de fallo.
3. Arquitectura para la escalabilidad Crear sistemas que puedan aumentar o disminuir su capacidad según la demanda.
4. La arquitectura es liderazgo Pensar como un arquitecto y buscar mentoría para liderar y guiar a otros miembros del equipo.
5. Siempre estar arquitectando La arquitectura no es un evento único; se debe evaluar y ajustar continuamente.
6. Construir sistemas desacoplados Crear sistemas compuestos por componentes individuales que se puedan intercambiar fácilmente.
7. Tomar decisiones reversibles Permitir cambios en la arquitectura sin necesidad de una reestructuración completa.
8. Priorizar la seguridad Integrar principios de seguridad en el diseño, como el principio de menor privilegio y el principio de confianza cero.
9. Adoptar FinOps Optimizar los sistemas para costos y generación de ingresos en un entorno de nube, donde los sistemas son escalables y de pago por uso.

Conclusión

Estos principios son fundamentales para desarrollar una arquitectura de datos robusta y adaptable. En las próximas sesiones, profundizaremos en cada uno de estos principios y su aplicación práctica en la ingeniería de datos.

¡Únete al próximo video donde exploraremos el concepto de DataOps!


Introducción a DataOps

Descripción

DataOps es un enfoque emergente en la ingeniería de datos que busca mejorar la calidad y el proceso de desarrollo de productos de datos, similar a cómo DevOps lo hace en el desarrollo de software. Este documento resume los conceptos clave de DataOps, sus pilares fundamentales y la importancia de la automatización, la observabilidad y la respuesta a incidentes en la gestión de datos.

Orígenes de DataOps

DataOps se inspira en el marco de DevOps, que surgió alrededor de 2007 para eliminar los silos entre los equipos de desarrollo y despliegue de software. Al igual que DevOps, DataOps busca:

Pilares de DataOps

DataOps se basa en tres pilares fundamentales:

Pilar Descripción
Automatización Implementación de procesos automáticos para la gestión de cambios en los datos y su procesamiento.
Observabilidad Monitoreo constante de los sistemas de datos para detectar fallos antes de que afecten a los usuarios.
Respuesta a Incidentes Capacidad de identificar y resolver rápidamente las causas raíz de los problemas en los sistemas de datos.

1. Automatización

La automatización en DataOps se asemeja a la integración y entrega continua (CI/CD) en DevOps. Permite:

Ejemplo de Automatización

Imaginemos que un ingeniero de datos debe construir un pipeline que ingesta datos de múltiples fuentes. Sin automatización, el proceso podría ser manual y propenso a errores. Con un enfoque de programación, se pueden establecer horarios para la ejecución de tareas, pero esto puede ser ineficiente.

Adoptar un marco de orquestación como Airflow permite:

2. Observabilidad

La observabilidad es crucial porque todos los sistemas de datos eventualmente fallan. La falta de monitoreo puede llevar a:

Es fundamental establecer sistemas de monitoreo para detectar problemas antes de que sean reportados por otros.

3. Respuesta a Incidentes

La respuesta a incidentes implica:

Los ingenieros de datos deben ser proactivos en la identificación de problemas antes de que sean reportados.

Conclusión

DataOps es un conjunto de prácticas en evolución que busca mejorar la calidad y eficiencia en la gestión de datos. Aunque no todas las organizaciones han adoptado estas prácticas, es esencial para los ingenieros de datos estar familiarizados con estos conceptos y su aplicación en el ciclo de vida de la ingeniería de datos.

Próximos Pasos

En la siguiente sección, se explorará más a fondo el concepto de orquestación, un componente clave de DataOps y fundamental en las arquitecturas y pipelines de datos modernos.


Orquestación en Ingeniería de Datos

Descripción

La orquestación en el contexto de la ingeniería de datos se asemeja a un director de orquesta que coordina diferentes instrumentos para crear una buena música. En este caso, el "música" es el flujo de datos a través de un pipeline, donde cada tarea debe ser gestionada y ejecutada de manera eficiente.

Conceptos Clave

Importancia de la Orquestación

La orquestación es fundamental en el ciclo de vida de la ingeniería de datos y en las operaciones de datos (DataOps). Permite:

Enfoques de Orquestación

  1. Ejecución Manual: Inicialmente, un ingeniero de datos puede ejecutar manualmente cada tarea en el pipeline. Esto es útil en las etapas de prototipado, pero no es sostenible a largo plazo.

  2. Programación Pura: Se pueden programar tareas para que se ejecuten a horas específicas. Sin embargo, esto puede llevar a problemas si una tarea falla o si las tareas no se completan en el orden correcto.

  3. Frameworks de Orquestación: Herramientas modernas como Apache Airflow, Dagster, Prefect y Mage permiten construir pipelines de datos sofisticados con capacidades de monitoreo y gestión de dependencias.

Ejemplo de un DAG

A continuación se presenta un ejemplo simplificado de un DAG para un pipeline de datos:

Tarea Descripción
Ingesta de Datos Extraer datos de múltiples fuentes.
Transformación 1 Transformar datos en vuelo desde la fuente 4.
Almacenamiento Almacenar datos extraídos en el sistema de almacenamiento.
Transformación 2 Transformar datos para el caso de uso de Machine Learning.
Almacenamiento ML Almacenar datos transformados para Machine Learning.
Transformación 3 Transformar datos para el caso de uso de Analytics.
Almacenamiento Analytics Almacenar datos transformados para Analytics.

Visualización del DAG

[Fuente 1] --> [Ingesta de Datos] --> [Almacenamiento]
[Fuente 2] --> [Ingesta de Datos] --> [Almacenamiento]
[Fuente 3] --> [Ingesta de Datos] --> [Almacenamiento]
[Fuente 4] --> [Ingesta de Datos] --> [Transformación 1] --> [Almacenamiento]

Conclusión

La orquestación es un componente esencial en la ingeniería de datos que permite gestionar de manera eficiente el flujo de datos a través de un pipeline. A medida que avanzamos en el curso, se explorarán más a fondo las herramientas y técnicas para implementar orquestación en proyectos de datos.

Próximo Tema

En el siguiente video, se explorará la relación entre la ingeniería de software y el rol del ingeniero de datos.


Introducción a la Ingeniería de Datos - Módulo 2: Ingeniería de Software

Descripción

En esta lección, exploramos los aspectos fundamentales de la ingeniería de software dentro del ciclo de vida de la ingeniería de datos. Se discuten la importancia de escribir código de calidad y cómo la ingeniería de software ha evolucionado para convertirse en un componente esencial de la ingeniería de datos.

Contenido

Conceptos Clave

  1. Ciclo de Vida de la Ingeniería de Datos:
  2. Seguridad
  3. Arquitectura de datos
  4. Operaciones y gestión
  5. Orquestación de pipelines de datos

  6. Ingeniería de Software:

  7. Diseño, desarrollo, implementación y mantenimiento de aplicaciones de software.
  8. Necesidad de escribir código limpio, legible, testeable y desplegable.

  9. Evolución de la Ingeniería de Datos:

  10. Antes no existía la ingeniería de datos como profesión oficial.
  11. Los ingenieros de software comenzaron a integrar aspectos de la ingeniería de datos en su trabajo.
  12. La creciente diversidad y volumen de datos llevó a la especialización en ingeniería de datos.

Importancia del Código en la Ingeniería de Datos

Desarrollo de Frameworks de Código Abierto

Infraestructura como Código

Habilidades Recomendadas

Conclusión

La ingeniería de software es un componente crítico en el ciclo de vida de la ingeniería de datos. La capacidad de escribir código de alta calidad no solo es fundamental para el éxito en el rol de ingeniero de datos, sino que también aporta un valor significativo a la organización. En la próxima lección, se explorará cómo estos conceptos se aplican en la nube de AWS.

Próximos Pasos


Introducción a la Ingeniería de Datos - Módulo 2

Descripción

En esta lección, se abordará la traducción de los conceptos del ciclo de vida de la ingeniería de datos a herramientas y tecnologías en la nube de AWS. Se mencionará la relevancia de estos conceptos en otras plataformas de nube, como Microsoft Azure y Google Cloud, y se destacará la importancia de adquirir habilidades técnicas en el contexto de AWS.

Contenido

Proveedores de Nube

Relevancia de los Conceptos

Herramientas y Tecnologías

Orientación a Ejercicios de Laboratorio

Conclusión

Este módulo tiene como objetivo equipar a los estudiantes con las habilidades técnicas necesarias para la ingeniería de datos utilizando herramientas y tecnologías ampliamente adoptadas en la industria.


Ciclo de Vida de la Ingeniería de Datos en AWS

Descripción

En este documento se resumen los conceptos clave del ciclo de vida de la ingeniería de datos en AWS, así como las herramientas y tecnologías asociadas. Se abordarán los sistemas de origen, la ingesta, el almacenamiento, la transformación y la entrega de datos.

Etapas del Ciclo de Vida de la Ingeniería de Datos

  1. Sistemas de Origen
  2. Amazon RDS: Servicio que permite aprovisionar instancias de bases de datos relacionales como MySQL o PostgreSQL. Simplifica la gestión operativa, incluyendo tareas de parcheo y actualización.
  3. Amazon DynamoDB: Base de datos NoSQL sin servidor, ideal para aplicaciones que requieren acceso de baja latencia a grandes volúmenes de datos. Tiene un esquema flexible y es adecuado para juegos, IoT, aplicaciones móviles y análisis en tiempo real.
  4. Amazon Kinesis Data Streams: Permite la transmisión de actividades de usuario en tiempo real desde plataformas de ventas.
  5. Amazon SQS: Servicio de cola de mensajes que puede ser utilizado en la construcción de pipelines de datos.
  6. Apache Kafka: Plataforma de transmisión de código abierto que puede ser implementada de forma independiente o a través de Amazon MSK.

  7. Ingesta de Datos

  8. Amazon DMS: Servicio para migrar y replicar datos de una fuente a un destino de manera automatizada.
  9. AWS Glue ETL: Herramienta principal para procesos de integración de datos en los laboratorios del curso.
  10. Amazon Kinesis Data Firehose: Utilizado para la ingesta de datos desde fuentes de transmisión.

  11. Almacenamiento de Datos

  12. Amazon Redshift: Opción de almacenamiento en un data warehouse.
  13. Amazon S3: Almacenamiento de objetos para un data lake.
  14. Lakehouse: Combinación de servicios que permite el acceso a datos estructurados y no estructurados.

  15. Transformación de Datos

  16. AWS Glue: Herramienta para la transformación de datos.
  17. Apache Spark y DBT: Alternativas que pueden ser utilizadas en combinación con Glue.

  18. Entrega de Datos

  19. Análisis y Business Intelligence: Herramientas como Amazon Athena y Redshift para consultar datos estructurados y no estructurados. Uso de dashboards en Jupyter Notebook y herramientas como Amazon QuickSight, Apache Superset y Metabase.
  20. Inteligencia Artificial y Aprendizaje Automático: Entrega de datos en lotes para entrenamiento de modelos y uso de bases de datos vectoriales para recomendaciones de productos.

Resumen de Herramientas y Servicios

Etapa Herramientas y Servicios
Sistemas de Origen Amazon RDS, Amazon DynamoDB, Amazon Kinesis, SQS, Apache Kafka
Ingesta Amazon DMS, AWS Glue ETL, Kinesis Data Firehose
Almacenamiento Amazon Redshift, Amazon S3
Transformación AWS Glue, Apache Spark, DBT
Entrega Amazon Athena, Redshift, Amazon QuickSight, Apache Superset, Metabase

Conclusión

Este documento proporciona una visión general de las herramientas y tecnologías que se utilizarán en el ciclo de vida de la ingeniería de datos en AWS. En el próximo video, se relacionarán los conceptos del ciclo de vida con tecnologías específicas en AWS.


Introducción a los Subyacentes del Ciclo de Vida de la Ingeniería de Datos en AWS

Descripción

En este documento se resumen los conceptos clave relacionados con los subyacentes del ciclo de vida de la ingeniería de datos en AWS, incluyendo seguridad, gestión de datos, operaciones de datos, orquestación y ingeniería de software. Se describen las herramientas y servicios relevantes que se utilizarán en el curso.

Subyacentes del Ciclo de Vida de la Ingeniería de Datos

1. Seguridad

2. Gestión de Datos

3. Operaciones de Datos

4. Orquestación

5. Ingeniería de Software

Tabla Resumen de Herramientas y Servicios

Subyacente Herramienta/Servicio Descripción
Seguridad IAM Controla el acceso a los recursos de AWS.
VPC Proporciona una red privada virtual.
Gestión de Datos AWS Glue Descubre y gestiona metadatos.
Lake Formation Gestiona permisos de acceso a datos.
Operaciones de Datos Amazon CloudWatch Monitorea recursos y aplicaciones.
Amazon CloudWatch Logs Almacena y analiza registros operativos.
Amazon SNS Configura notificaciones entre aplicaciones.
Orquestación Apache Airflow Herramienta de orquestación de flujos de trabajo.
Dagster, Prefect, Mage Nuevas herramientas de orquestación.
Ingeniería de Software Amazon Cloud9 IDE para desarrollo en la nube.
Amazon CodeDeploy Automatiza el despliegue de código.

Conclusión

Este resumen proporciona una visión general de los subyacentes del ciclo de vida de la ingeniería de datos en AWS y las herramientas que se utilizarán en el curso. A medida que avanzas, podrás aplicar estos conceptos y herramientas en la creación de pipelines de datos en AWS.

Próximamente, se realizará un ejercicio práctico donde se implementará un pipeline de datos de extremo a extremo en AWS.


Introducción al Laboratorio de Ingeniería de Datos

Descripción

Este documento proporciona un resumen del laboratorio de ingeniería de datos en AWS, donde se explorará un pipeline de datos de extremo a extremo. Se describen las tareas que se realizarán, la estructura de los datos y las herramientas que se utilizarán.

Contenido del Laboratorio

El laboratorio se centra en un escenario donde trabajas como ingeniero de datos para un minorista que se especializa en modelos a escala de automóviles clásicos. El objetivo principal es construir un pipeline de datos que transforme y sirva información a un analista de datos en el equipo de marketing.

Tareas Principales

  1. Exploración de la Base de Datos Relacional:
  2. Tablas disponibles:

  3. Ingesta de Datos:

  4. Extraer datos relevantes para el análisis.
  5. Transformar los datos en una estructura más comprensible y rápida para consultas analíticas.

  6. Modelado de Datos:

  7. La transformación de datos se conoce como modelado de datos, que se abordará en detalle en el Curso 4 de la especialización.
  8. La estructura final de los datos transformados será un esquema en estrella.

Estructura del Esquema en Estrella

Diagrama Arquitectónico del Pipeline

Herramientas y Recursos

Configuración del Entorno

Conclusión

Este laboratorio está diseñado para proporcionar una experiencia práctica en la interacción con un pipeline de datos en AWS. A medida que avances en la especialización, aprenderás más sobre las herramientas y técnicas involucradas en cada etapa del ciclo de vida de la ingeniería de datos.

Recursos Adicionales

¡Prepárate para sumergirte en el mundo de la ingeniería de datos!


Guía de Configuración del Laboratorio - Introducción a la Ingeniería de Datos

Descripción

En este documento se describen los pasos necesarios para acceder y configurar el laboratorio de la especialización en Ingeniería de Datos. Se detallan las instrucciones para abrir el entorno de trabajo, configurar AWS Cloud9 y lanzar el Jupyter Notebook.

Pasos para Configurar el Laboratorio

  1. Acceso al Laboratorio
  2. Inicia sesión en Coursera y selecciona el laboratorio correspondiente a la semana, titulado "Graded app".
  3. Acepta el código de honor de Coursera y lanza la aplicación.

  4. Inicio del Entorno AWS

  5. Haz clic en el botón para iniciar el laboratorio y espera a que el círculo se vuelva verde para abrir la consola de AWS.
  6. Ten en cuenta que la primera vez que inicies el laboratorio, el entorno se cargará en unos segundos. En intentos posteriores, puede tardar alrededor de 10 minutos debido a un procedimiento de limpieza en la cuenta de AWS.

  7. Lanzar AWS Cloud9

  8. Una vez que el icono esté verde, haz clic en él para abrir la consola de AWS en una nueva pestaña del navegador.
  9. En la barra de búsqueda, escribe "Cloud9" y selecciona el servicio.
  10. Haz clic en "Crear Entorno".

  11. Configuración del Entorno

  12. Nombre del entorno: de-c1w2
  13. Tipo de instancia EC2: t3
  14. Configuraciones de red: selecciona "Secure Shell" y elige la VPC llamada de-c1w2 y la subred pública de-c1w2 public subnet.
  15. Haz clic en "Crear". AWS tardará unos minutos en configurar el entorno.

  16. Descargar Archivos del Laboratorio

  17. Una vez que el entorno esté listo, abre el IDE.
  18. Copia el comando de la Paso 5 de las instrucciones del laboratorio y pégalo en el terminal para descargar el contenido del laboratorio desde un bucket S3.

  19. Acceso a Instrucciones Detalladas

  20. Abre el archivo marcado y selecciona "Preview" para ver el archivo c1_w2_Assignment.md.
  21. Si las instrucciones no se muestran, haz clic en el botón de "Refresh".

  22. Instalación de Terraform y Jupyter Notebook

  23. Copia el comando del Paso 7 y pégalo en el terminal para instalar Terraform y lanzar el Jupyter Notebook.
  24. Una vez instalado, recibirás una URL para acceder al Jupyter Lab. Copia esta URL y pégala en una nueva pestaña del navegador.

Navegación entre Entornos

Notas Finales

En el próximo video, se explicarán los siguientes pasos para configurar tu pipeline de datos. ¡Nos vemos allí!


Introducción al Laboratorio de Ingeniería de Datos

Descripción

En este documento se presenta un resumen del contenido del laboratorio del Módulo 2 del curso de Introducción a la Ingeniería de Datos. Se describen los pasos necesarios para configurar el entorno, explorar la base de datos, crear recursos en AWS y ejecutar trabajos de transformación de datos.

Contenido del Laboratorio

1. Configuración del Entorno

2. Exploración del Sistema de Origen

Conexión a la Base de Datos

Para conectarse a la base de datos MySQL, se utiliza el siguiente comando:

mysql -h <endpoint> -u admin -p useradmin -P 3306

3. Creación de Recursos para el Pipeline de Datos

Recursos Declarados en glue.tf

4. Ejecución de Terraform

Para crear los recursos, se deben ejecutar los siguientes comandos en la terminal:

cd Terraform
terraform init
terraform plan
terraform apply

5. Ejecución del Trabajo de Glue

6. Consulta de Datos en Jupyter Lab

Ejemplo de Consultas

7. Finalización del Laboratorio

Conclusión

Este laboratorio proporciona una experiencia práctica en la configuración de un entorno de datos, la exploración de bases de datos y la creación de pipelines de datos utilizando herramientas de AWS. Se recomienda seguir las instrucciones cuidadosamente y revisar los videos si se presentan dificultades.


Resumen de la Semana 2 - Introducción a la Ingeniería de Datos

Descripción

En esta segunda semana del curso de Introducción a la Ingeniería de Datos, se ha puesto un enfoque en el marco mental de alto nivel para la ingeniería de datos, en lugar de centrarse en la construcción de infraestructura de datos. Se exploró un pipeline de datos de extremo a extremo en AWS, lo que ayuda a los estudiantes a orientarse sobre cómo aplicar la teoría en la práctica.

Contenido

Ciclo de Vida de la Ingeniería de Datos

Se revisaron las etapas del ciclo de vida de la ingeniería de datos, que incluyen:

  1. Generación de Datos y Sistemas de Origen
  2. Ingesta de Datos
  3. Transformación de Datos
  4. Almacenamiento de Datos
  5. Servir Datos

Estas etapas son fundamentales para convertir datos en bruto en información útil y disponible para los usuarios finales.

Corrientes Subyacentes

Además de las etapas del ciclo de vida, se discutieron las corrientes subyacentes que afectan la ingeniería de datos:

Práctica y Teoría

La combinación de la práctica y el marco mental desarrollado durante esta semana ayudará a los estudiantes a tener éxito en todos los aspectos de su trabajo como ingenieros de datos.

Próximos Pasos

En las próximas lecciones, se realizará un análisis profundo sobre lo que significa construir una buena arquitectura de datos.

¡Nos vemos en la próxima clase!