En la última década, la digitalización ha transformado prácticamente todas las industrias. La comunicación digital y los datos digitales han reemplazado a los documentos en papel como el principal mecanismo de almacenamiento de información en sectores como la salud, finanzas, manufactura, educación y tecnología. Sin embargo, este aumento de datos también trae consigo riesgos y nuevos desafíos en su almacenamiento y procesamiento para generar valor. La creación de buenas canalizaciones de datos se ha vuelto crítica, lo que ha llevado a una creciente demanda de ingenieros de datos.
El curso es impartido por Joe Res, un ingeniero de datos y arquitecto de datos con décadas de experiencia. Es profesor, podcaster y coautor del libro "Fundamentals of Data Engineering".
El programa consta de cuatro cursos:
| Curso | Descripción |
|---|---|
| 1 | Visión general de la ingeniería de datos y creación de canalizaciones de datos en la nube. |
| 2 | Ingesta de datos desde sistemas de origen, operaciones de datos y orquestación de canalizaciones de datos. |
| 3 | Almacenamiento de datos en la nube y su importancia en el ciclo de vida de la ingeniería de datos. |
| 4 | Modelado, transformación y servicio de datos para casos de uso finales. |
La ingeniería de datos es una habilidad especializada y esencial en el entorno actual, especialmente con el auge de la inteligencia artificial. Este curso está diseñado tanto para aspirantes a ingenieros de datos como para aquellos que ya están en el campo y desean perfeccionar sus habilidades. ¡Estamos emocionados de comenzar este viaje juntos!
En este curso, te imaginarás como un ingeniero de datos recién contratado en una empresa del sector comercio. A lo largo de las lecciones, exploraremos el ciclo de vida de la ingeniería de datos, la importancia de construir infraestructuras de datos robustas y cómo traducir las necesidades de los interesados en requisitos del sistema.
Recolección de necesidades de los interesados.
Semana 2:
Práctica con pipelines de datos en la nube (AWS).
Semana 3:
Principios de una buena arquitectura de datos.
Semana 4:
Este curso te preparará para abordar los desafíos de la ingeniería de datos, comenzando por entender el panorama general y luego profundizando en aspectos técnicos. ¡Únete al próximo video para explorar más sobre el ciclo de vida de la ingeniería de datos!
Este documento resume los conceptos clave del video "03_Data Engineering Defined" del módulo 1 de la introducción a la ingeniería de datos. Se exploran la evolución del campo de la ingeniería de datos, su definición, el ciclo de vida de la ingeniería de datos y los componentes fundamentales que la sustentan.
Según el libro Fundamentals of Data Engineering, la ingeniería de datos se define como:
"El desarrollo, implementación y mantenimiento de sistemas y procesos que toman datos en bruto y producen información de alta calidad y consistente que apoya casos de uso posteriores, como análisis y aprendizaje automático."
La ingeniería de datos se sitúa en la intersección de: - Seguridad - Gestión de datos - DataOps - Arquitectura de datos - Orquestación - Ingeniería de software
El ciclo de vida de la ingeniería de datos se compone de varias etapas:
| Etapa | Descripción |
|---|---|
| Generación de Datos | Datos generados por aplicaciones, usuarios o sensores. |
| Ingestión | Proceso de capturar y almacenar datos. |
| Transformación | Modificación y limpieza de datos para su análisis. |
| Almacenamiento | Guardar datos de manera eficiente y accesible. |
| Servicio | Proveer datos para su uso en análisis y aprendizaje automático. |
Los casos de uso finales incluyen: - Análisis - Aprendizaje automático - Reverse ETL (enviar datos procesados de vuelta a los sistemas de origen)
El pipeline de datos se refiere a la combinación de arquitectura, sistemas y procesos que mueven los datos a través de las etapas del ciclo de vida de la ingeniería de datos. El trabajo de un ingeniero de datos implica: 1. Obtener datos de sistemas de origen. 2. Transformar esos datos en información útil. 3. Hacer que los datos estén disponibles para casos de uso posteriores.
Las corrientes subyacentes de la ingeniería de datos son componentes que abarcan todo el ciclo de vida:
| Corriente Subyacente | Descripción |
|---|---|
| Seguridad | Protección de datos y sistemas. |
| Gestión de Datos | Estrategias para manejar y organizar datos. |
| DataOps | Prácticas para mejorar la colaboración y la eficiencia en la ingeniería de datos. |
| Arquitectura de Datos | Diseño de la estructura de los sistemas de datos. |
| Orquestación | Coordinación de procesos y flujos de trabajo. |
| Ingeniería de Software | Desarrollo de software para soportar sistemas de datos. |
A lo largo del curso, se explorarán en detalle cada una de las etapas y corrientes subyacentes de la ingeniería de datos. Se enfatiza la importancia de tener una visión holística del ciclo de vida de la ingeniería de datos para transformar las necesidades de los interesados en requisitos para los sistemas, proporcionando así un valor real para la organización.
El siguiente video es opcional y ofrece una breve historia de los datos y la ingeniería de datos. No es necesario recordar esta historia para tener éxito en el curso, pero puede ser útil para entender el contexto actual.
Este documento resume la evolución de la ingeniería de datos desde sus inicios hasta la actualidad, destacando los hitos clave y las innovaciones que han dado forma a este campo.
En este contexto, nos referimos a datos digitalmente grabados, que pueden ser almacenados en computadoras o transmitidos a través de Internet.
Orígenes de los Datos Digitales:
1990s: Necesidad de herramientas y pipelines de datos para inteligencia empresarial, desarrollo de enfoques de modelado de datos por Ralph Kimball y Bill Inmon.
Era de Internet y Big Data:
| Año | Innovación | Descripción |
|---|---|---|
| 2004 | Publicación de MapReduce | Paradigma de procesamiento de datos ultra-escalable. |
| 2006 | Apache Hadoop | Desarrollo de un ecosistema de tecnología de código abierto para datos a gran escala. |
| 2000s | Amazon EC2 y S3 | Creación de un entorno de computación escalable y flexible. |
| 2010s | Emergen herramientas CloudFirst | Simplificación del trabajo con datos a gran escala. |
Cambio de procesamiento por lotes a un flujo continuo de eventos, permitiendo el manejo de datos en tiempo real.
Desaparición del Término "Big Data":
La ingeniería de datos se ha convertido en una disciplina que conecta diversas tecnologías para alcanzar objetivos empresariales.
Contribución a la Estrategia Empresarial:
La ingeniería de datos ha evolucionado significativamente, y hoy en día, los ingenieros de datos tienen la oportunidad de construir sistemas robustos utilizando herramientas desarrolladas por generaciones anteriores. En los próximos videos, se explorará cómo la ingeniería de datos se integra con otros roles y cómo identificar las necesidades de los usuarios finales.
¡Únete al próximo video para descubrir cómo la ingeniería de datos se ajusta al resto de tu organización!
En este documento se resumen los conceptos clave sobre el rol del ingeniero de datos y su interacción con los interesados, tanto descendentes como ascendentes, en el contexto de la ingeniería de datos. Se discuten las necesidades de los consumidores de datos y la importancia de la comunicación con los propietarios de los sistemas de origen.
Hacer que los datos estén disponibles para los casos de uso posteriores.
Consumidores de Datos Descendentes
Ejemplo: Un analista de negocios que necesita ejecutar consultas SQL para generar datos para análisis.
Consideraciones para Servir a los Consumidores de Datos
Alineación en la definición de los datos requeridos (ej. zona horaria para ventas diarias).
Interacción con Interesados Ascendentes
Establecer relaciones con los propietarios de sistemas para influir en cómo se sirven los datos en bruto.
Impacto de los Cambios en los Sistemas de Origen
| Tipo de Interesado | Rol | Consideraciones Clave |
|---|---|---|
| Descendentes | Analistas, científicos de datos, etc. | Frecuencia de consultas, definición de datos, latencia. |
| Ascendentes | Propietarios de sistemas de origen | Volumen, frecuencia, formato de datos, cambios en el sistema. |
El concepto de valor comercial es vago y se explorará más a fondo en el contexto de la recopilación de requisitos para sistemas de datos.
Este documento resume los conceptos clave sobre la recopilación de requisitos para sistemas en el contexto de la ingeniería de datos. Se abordan los diferentes tipos de requisitos, la importancia de entender las necesidades de los interesados y cómo traducir esas necesidades en requisitos específicos para el sistema.
Los requisitos pueden clasificarse en varias categorías:
| Tipo de Requisito | Descripción |
|---|---|
| Requisitos de Negocio | Definen los objetivos generales de la empresa, como aumentar ingresos o incrementar la base de usuarios. |
| Requisitos de Interesados | Necesidades de individuos dentro de la organización que deben cumplirse para realizar su trabajo. |
| Requisitos del Sistema | Describen lo que el sistema debe hacer para cumplir con los requisitos de negocio y de interesados. |
Los requisitos del sistema se dividen en dos categorías principales:
Ejemplos en ingeniería de datos:
Requisitos No Funcionales (¿Cómo?)
El primer paso en cualquier proyecto de ingeniería de datos es recopilar los requisitos del sistema. Este proceso incluye:
Al recopilar requisitos, también se deben tener en cuenta:
La recopilación de requisitos es un proceso crítico que varía según el sistema que se esté construyendo. La comunicación efectiva con los interesados, que pueden tener diferentes niveles de conocimiento técnico, es esencial para el éxito del proyecto. En los próximos videos, se presentarán consejos de expertos sobre cómo abordar este proceso.
Si deseas, puedes avanzar al siguiente video donde se explorará un escenario práctico en el que un nuevo ingeniero de datos en una empresa de comercio electrónico necesita ayudar a los científicos de datos.
En esta transcripción, Sol Rashidi, una destacada ejecutiva en el ámbito de datos y inteligencia artificial, comparte su trayectoria profesional y ofrece valiosos consejos para aspirantes a ingenieros de datos. A lo largo de la conversación, se discuten temas como la importancia de los ingenieros de datos, la comunicación efectiva con líderes empresariales y la relevancia de entender el contexto empresarial.
| Tipo de Líder | Estrategia de Comunicación |
|---|---|
| Líder Funcional | Usar lenguaje sencillo y centrarse en el impacto. |
| Líder Técnico | Utilizar terminología técnica y mostrar habilidades. |
| Mixto | Combinar ambos enfoques según la conversación. |
La conversación con Sol Rashidi resalta la importancia de los ingenieros de datos en las organizaciones modernas y la necesidad de una comunicación efectiva entre los técnicos y los líderes empresariales. Comprender el contexto y adaptar el lenguaje son habilidades esenciales para el éxito en este campo.
En esta conversación, Jordan Morrow, reconocido como uno de los fundadores de la alfabetización de datos, comparte su perspectiva sobre la importancia de la alfabetización de datos y cómo los ingenieros de datos pueden mejorar su comprensión del negocio para tener éxito en su trabajo.
La alfabetización de datos se define como la capacidad de leer, trabajar, analizar y comunicar datos. Es esencial que no solo los profesionales de datos y análisis tengan confianza en el uso de datos, sino que todos en una organización tengan la oportunidad de sentirse cómodos al trabajar con datos.
Jordan enfatiza la importancia de entender a la audiencia al recopilar requisitos para productos de datos. Aquí hay algunos pasos clave:
Las necesidades varían según el rol en la organización: - Director de ventas: Enfocado en alcanzar objetivos de ventas. - Director de marketing: Busca mejorar las estrategias de marketing. - Director financiero: Interesado en la gestión del flujo de caja.
Jordan sugiere que los ingenieros de datos deben:
La conversación con Jordan Morrow resalta la importancia de la alfabetización de datos y la comprensión del negocio para los ingenieros de datos. Al desarrollar estas habilidades, los profesionales pueden contribuir de manera más efectiva al éxito de sus organizaciones.
En este documento se presenta un resumen de una conversación simulada entre un ingeniero de datos y un científico de datos, donde se discuten los requisitos para un proyecto de análisis de datos en tiempo real. Se abordan los desafíos actuales en la recolección y procesamiento de datos, así como las necesidades específicas del equipo de marketing.
Científico de Datos: Utiliza los datos para análisis y toma de decisiones.
Desafíos Actuales:
| Desafío | Descripción | Solución Propuesta |
|---|---|---|
| Acceso a datos | El equipo de software no permite acceso directo a la base de datos. | Implementar un sistema de ingesta de datos en tiempo real. |
| Procesamiento manual | Los datos se descargan manualmente, lo que consume tiempo. | Automatizar la transformación y el almacenamiento de datos en el formato requerido. |
| Datos obsoletos | Los datos proporcionados son de hace dos días. | Proveer actualizaciones en tiempo real para análisis inmediato. |
La conversación destaca la importancia de una comunicación efectiva entre los ingenieros de datos y los científicos de datos para identificar y resolver problemas en la recolección y procesamiento de datos. Se sugiere que la automatización y la mejora en el acceso a los datos son cruciales para satisfacer las necesidades del equipo de marketing y optimizar el tiempo de análisis.
Este documento proporciona un resumen claro y conciso de la conversación y los puntos clave discutidos, lo que puede servir como base para futuras discusiones y desarrollos en el proyecto de ingeniería de datos.
En este video, se exploran las conversaciones iniciales para la recopilación de requisitos entre un ingeniero de datos y un científico de datos. Se presentan los elementos clave que deben considerarse al extraer requisitos para sistemas de datos y se identifican otros interesados que podrían ser necesarios para completar la información.
Durante la conversación con el científico de datos, se discutieron varios puntos importantes:
| Tema | Descripción |
|---|---|
| Análisis en Tiempo Real | El equipo de marketing necesita análisis en tiempo real de las ventas por región, pero solo recibe un volcado diario de datos. Esto es subóptimo y puede comprometer la base de datos de producción. |
| Problemas de Esquema | Se mencionaron problemas debido a cambios en el esquema o anomalías en los datos. Se sugiere implementar verificaciones automáticas para asegurar la calidad de los datos. |
| Requisitos Funcionales | Se identificó la necesidad de automatizar la ingesta y transformación de datos en el formato requerido por el científico de datos. |
| Requisitos No Funcionales | Se debe considerar la latencia, es decir, qué tan rápido se necesita que los datos estén disponibles después de ser grabados en el sistema fuente. |
| Claridad en el Tiempo Real | Es importante aclarar qué significa "tiempo real" para los interesados, ya que puede variar desde informes mensuales hasta latencias de segundos. |
La conversación con el científico de datos reveló información valiosa sobre los sistemas existentes, los problemas actuales y los requisitos del sistema. Se identificaron otros interesados, como el equipo de marketing y los ingenieros de software, que serán necesarios para obtener información adicional.
En el próximo video, se explorará cómo encajan estos elementos dentro de un marco que se puede utilizar para abordar cualquier proyecto de ingeniería de datos.
En este documento se resumen las ideas y conceptos clave del video "Thinking Like a Data Engineer" del curso de Introducción a la Ingeniería de Datos. Se presenta un marco de trabajo que guía a los ingenieros de datos a través del proceso de recopilación de requisitos, diseño e implementación de sistemas de datos.
El proceso de ingeniería de datos se puede dividir en cuatro etapas principales:
Realizar conversaciones con los stakeholders para entender los sistemas actuales y sus necesidades.
Definición de Requisitos Funcionales y No Funcionales
Documentar y confirmar los requisitos con los stakeholders.
Selección de Herramientas y Tecnologías
Elegir el conjunto óptimo de herramientas y tecnologías.
Prototipado y Pruebas
| Tipo de Requisito | Descripción |
|---|---|
| Requisitos Funcionales | Lo que el sistema debe hacer para satisfacer las necesidades de los stakeholders. |
| Requisitos No Funcionales | Especificaciones técnicas sobre cómo el sistema cumplirá con los requisitos. |
Este marco de trabajo proporciona una guía para los ingenieros de datos en la recopilación de requisitos, diseño e implementación de sistemas de datos. A medida que avanzamos en el curso, se revisarán cada una de estas etapas en detalle, comenzando con la identificación de objetivos empresariales y necesidades de los stakeholders.
¡Nos vemos en la próxima lección!
Este documento resume el contenido del video "Data Engineering on the Cloud" del curso de Introducción a la Ingeniería de Datos. Se abordan conceptos clave sobre la ingeniería de datos, la evolución hacia la nube y las herramientas utilizadas en este contexto.
| Proveedor de Nube | Descripción |
|---|---|
| AWS | Primer proveedor de nube popular y más utilizado |
| Google Cloud Platform | Proveedor de nube de Google |
| Microsoft Azure | Proveedor de nube de Microsoft |
Al final del curso, los estudiantes podrán tomar un conjunto de requisitos técnicos y construir un pipeline de datos utilizando herramientas y tecnologías basadas en la nube. Se adoptará un enfoque de aprendizaje "just in time" para facilitar la comprensión de las herramientas a medida que se utilicen en los laboratorios.
Este documento resume la charla de Morgan Willis, tecnóloga principal en la nube de AWS, sobre la introducción a la ingeniería de datos. Se abordan conceptos fundamentales, la importancia de la práctica en la construcción de soluciones de ingeniería de datos y la certificación de AWS.
Pensamiento como ingeniero de datos
Práctica en Soluciones de Ingeniería de Datos:
Morgan Willis invita a los estudiantes a comenzar con los conceptos básicos de la computación en la nube en AWS y a seguir explorando el vasto mundo de la ingeniería de datos. Se anima a los estudiantes a estudiar y considerar la certificación de AWS tras completar el programa.
Este documento proporciona una visión general de la charla y los temas tratados, ofreciendo un punto de partida para aquellos interesados en la ingeniería de datos en la nube.
En este documento se resumen los conceptos clave sobre la nube de AWS, su infraestructura y los recursos que ofrece para la construcción de sistemas de datos y aplicaciones. Se explican las ventajas de utilizar AWS en comparación con los centros de datos locales, así como la estructura de regiones y zonas de disponibilidad.
| Tipo de Recurso | Ejemplos |
|---|---|
| Computación | Máquinas virtuales, servicios de contenedores, funciones sin servidor |
| Almacenamiento | Amazon S3, Amazon Elastic Block Store, bases de datos relacionales y NoSQL |
| Redes | Amazon Virtual Private Cloud (VPC) |
| Región | Ejemplo de Zonas de Disponibilidad |
|---|---|
| US East (N. Virginia) | AZ1, AZ2, AZ3 |
| Asia Pacific (Mumbai) | AZ1, AZ2, AZ3 |
| Europa (Frankfurt) | AZ1, AZ2, AZ3 |
La nube de AWS proporciona una infraestructura robusta y flexible para la construcción de sistemas de datos. A medida que avances en tu aprendizaje sobre AWS, estos conceptos serán fundamentales para entender cómo utilizar los servicios de manera efectiva. En el próximo video, exploraremos algunos de los servicios centrales de AWS que utilizarás en estos cursos.
En este documento se presenta un resumen de los servicios básicos de Amazon Web Services (AWS) que se abordarán en el curso de Introducción a la Ingeniería de Datos. Se clasifican en cinco categorías: computación, red, almacenamiento, bases de datos y seguridad.
AWS ofrece una variedad de servicios de computación, siendo el más destacado Amazon Elastic Compute Cloud (EC2).
Al crear instancias de EC2 y otros recursos, es necesario ubicarlos en una red.
AWS ofrece diferentes tipos de almacenamiento:
| Tipo de Almacenamiento | Descripción |
|---|---|
| Almacenamiento de Objetos | Ideal para datos no estructurados (documentos, fotos, videos). Se utiliza principalmente Amazon S3. |
| Almacenamiento en Bloque | Usado para bases de datos y sistemas de archivos de máquinas virtuales. Se puede adjuntar Amazon Elastic Block Store (EBS) a instancias de EC2. |
| Almacenamiento de Archivos | Organiza datos en archivos y directorios. Amazon Elastic File System (EFS) es un servicio de almacenamiento de archivos escalable. |
Las bases de datos son un tipo de servicio de almacenamiento que permite gestionar datos estructurados.
AWS opera bajo un modelo de responsabilidad compartida:
Se puede comparar con un edificio de apartamentos: - El propietario se encarga de la seguridad del edificio. - El inquilino es responsable de asegurar su apartamento.
Este documento proporciona una visión general de los servicios básicos de AWS que se explorarán en el curso. En los próximos videos, se presentará la consola de administración de AWS y se ofrecerán instrucciones para crear una cuenta gratuita, aunque esto es opcional para el éxito en el curso.
Este documento proporciona un resumen de la consola de administración de AWS, su interfaz y cómo interactuar con ella para realizar tareas básicas, como lanzar instancias EC2. Está diseñado para aquellos que son nuevos en AWS y no requieren experiencia previa en servicios en la nube.
Para lanzar una nueva instancia EC2, sigue estos pasos:
Selecciona "Lanzar instancia".
Configuración de la instancia:
AWS ofrece una amplia variedad de tipos de instancias, que incluyen: - Instancias optimizadas para computación. - Instancias optimizadas para memoria. - Instancias optimizadas para almacenamiento. - Instancias de alto rendimiento.
Este documento proporciona una orientación básica sobre la consola de administración de AWS. En los laboratorios, se proporcionarán instrucciones detalladas para interactuar con la consola y configurar los recursos necesarios para construir un pipeline de datos.
| Tipo de Instancia | Procesador | Memoria (RAM) |
|---|---|---|
| t2.micro | 3.3 GHz | 1 GB |
Este resumen proporciona una base para comenzar a trabajar con AWS y la consola de administración, facilitando la comprensión de los conceptos y herramientas necesarias para los laboratorios del curso.
En esta primera semana del curso de Introducción a la Ingeniería de Datos, se han abordado conceptos fundamentales sobre el rol del ingeniero de datos, la terminología relacionada con la nube de AWS y el proceso de construcción de sistemas de datos. A continuación, se presenta un resumen de los puntos clave discutidos.
Los ingenieros de datos pueden encontrarse en diversas situaciones, tales como:
Para construir sistemas de datos efectivos, es crucial seguir estos pasos:
Se presentó un marco de trabajo que ayuda a estructurar el pensamiento del ingeniero de datos en etapas:
| Etapa | Descripción |
|---|---|
| Identificación de objetivos | Definir metas de negocio y necesidades de los interesados. |
| Definición de requisitos | Establecer requisitos claros para el sistema. |
| Selección de herramientas | Elegir las tecnologías adecuadas. |
| Construcción y evaluación | Implementar y evaluar el sistema de datos. |
Se exploró la evolución de la ingeniería de datos y se discutió el enfoque "cloud-first" en la construcción de sistemas de datos.
Se revisaron conceptos y recursos fundamentales para comenzar a construir en la nube de AWS.
En la próxima semana, se profundizará en cada una de las etapas del ciclo de vida de la ingeniería de datos y se llevará a cabo una actividad práctica donde los participantes construirán su primer pipeline de datos en AWS.
¡Nos vemos en la próxima semana!