No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Siguientes pasos

24/25
Recursos

Nombre del curso: Curso de Fundamentos de ETL con Python y Pentaho
Dean: Sebastián Delmont
School Owner: Carlos Alarcón
Profesor: Carlos Alarcón
Dirección: Miguel Torres
Producción OPS: Lizeth Cáceres y Rocío Martínez
Creación audiovisual: Camilo Lamilla Tamayo
Edición de video: Pablo Valès
Postproducción de audio: Jorge Andres Torres Viveros
Diseño gráfico: Daniel Ordoñez
Coordinación General: Andrés Arizmendy, Daniel Gutiérrez, Carol Baquero, Carlos Céspedes y Sura Cedeño
Revisión: Rubén Cuello y Natalia Moreno Espinoza

Aportes 11

Preguntas 1

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

el curso de Airflow es como un hola mundo, no se ejecutan los trabajos en un servidor aparte, y los trabajos son como print(“python operator”), seria genial una parte II con un proceso de ETL orquestado con Airflow

seria mejor aun si integran mas cursos por ejemplo con fastAPI y supongo docker para la automatizacion del proceso de pandas

y seria un plus muy grande se paralelizen trabajos, vi que hace unos años hicieron un curso de Celery pero debe rehacerse esta algo mal enfocado

POR FAVOR si llegan a hacer algo de esto que no sea como esos laboratorios que hizo Ricardo Alanis, ej Laboratorio de Machine Learning: Puesta en Producción de Modelos

con 3 minutos de video tipo libro de auto ayuda de excelente aporte sin aportar nada … Eso y nada es lo mismo

He afrontado este curso con unos fines muy concretos:

  • Obtener herramientas más adecuadas que SQL y procesos batch en JAVA, para obtener datos
  • Conseguir herramientas, con las que montar un almacén de datos centralizado para varios sistemas de explotación de los mismos (varios cuadros de mando en Power BI, sistemas de reporting, etc). Inevitablemente necesito centralizar métricas y medidas para varios sistemas, es decir, necesito centralizar lógica de negocio
  • Conseguir herramientas para automatizar procesos de extracción, transformación y carga de datos
  • Conseguir sistemas para que la maldita BD pase a ser una shit de un bull perteneciente a la megafauna, a un sistema lógico y límpio y además que incorpore toda es legión de insectos (Excels, docs, ficheros, tablas de sitios web, etc), que revolotean por la organización.

Todo lo anterior lo comienzo a trabajar en un proyecto con datos públicos, en un sector de negocio alejado de mi realidad (para no herir sensibilidades), pero que resolverá los mismos problemas…

Gracias Carlos, por la ventanita que tú has abierto, veo herramientas para hacerlo. ¡Ahora es cosa mía!

Dejo mi repositorio con el código del curso:
Repositorio 😄

Por cierto, estaré encantado de compartir mis apuntes con todos los compañeros, que lo requieran y de recibir sus aportaciones (positivas). Mi repositorio es:

https://github.com/ddasilva64/ETLPPT23001esp

¡Gracias a todos!

Gracias Carlos, por este excelente curso. ¡Eres genial!.
Como siempre, personas geniales como tú, nos abren una ventanita a una luz diferente. Gracias Carlos y gracias Platzi team.

EL curso y el temario es bueno, pero pienso que si falto una explicacion del proyecto y sus objetivos, explicar el modelo con un MER no sobraba. Por ultimo los quiz me parecieron super incoherentes, unas preguntas en ingles otras en español, no si fue las preguntas las realizo algun automata o IA , pero si fue asi muy mediocre de parte de Platzy que deje hacer estas cosas.
test rrrespuestas-- **Resumen**1.¿Qué significa ETL en ingeniería de datos?ETL es un acrónimo que significa "Extracción, Transformación y Carga", un proceso utilizado para integrar datos de múltiples fuentes en un solo destino.2. ¿Cuál es la importancia de **ETL en ingeniería de datos**? ETL es importante en ingeniería de datos porque permite a los profesionales de datos integrar y consolidar datos de múltiples fuentes, lo que mejora la calidad y la eficacia de los análisis y toma de decisiones.3. ¿Cuál es la **diferencia entre el source y el target en una ETL**? El source se refiere a la fuente de datos donde se extraen los datos para la transformación y carga en el target, que es el destino final de los datos.4. ¿Cuál es la **diferencia entre un data warehouse y un data lake** en términos de **ETL**? En un data warehouse el proceso de ETL se centra en la integración y transformación de datos estructurados y almacenados en diferentes sistemas, para crear un conjunto de datos coherente y consolidado. En un data lake, el proceso de ETL se enfoca en la ingestión y almacenamiento de datos en su forma más cruda, sin aplicar transformaciones significativas hasta que se requieran para un análisis específico. 5.¿Siempre es mejor que una ETL se realice en streaming y no en procesos batch?Falso, depende de la misma naturaleza y necesidades del proyecto.6. Un ETL netamente **desarrollada desde cero en Python u otro lenguaje**, ¿de qué tipo se puede considerar? Custom7.Es algo a tener en cuenta al momento de usar sources en un proceso de ETL.Considerar la calidad y consistencia de los datos.REPASAR CLASE8. ¿Cómo afecta la **frecuencia de extracción** de las fuentes en una ETL? Si la frecuencia es muy baja, es posible que se pierdan datos recientes, mientras que una frecuencia demasiado alta puede causar una sobrecarga en el sistema y afectar el rendimiento. 9.La extracción de datos en Python solo la debo manejar con la librería de Pandas. ¿Esto es verdadero o falso?Falso, si bien es una librería perfecta para la manipulación de datos existen otras librerías que podemos usar.10. ¿Cuál es la mejor estrategia para **manejar duplicados en una ETL**? La mejor estrategia para manejar duplicados en una ETL es utilizar una combinación de técnicas como la eliminación de duplicados, la unificación de registros y la consolidación de datos.11. ¿Qué hace esta línea de código de Pandas? `df_codes[['clean_code','parent_description']] = df_codes.apply(lambda x : clean_code(x['Code']),axis=1, result_type='expand'`) Asigna a dos columnas de un DataFrame (df\_codes) los resultados de aplicar una función lambda (clean\_code) a la columna "Code" de dicho DataFrame, para cada fila.12. ¿Qué hace esta línea de código de Pandas en el DataFrame? `df_countries = df_countries[df_countries['alpha-3'`].notnull()] Filtra el DataFrame 'df\_countries' para eliminar todas las filas donde la columna 'alpha-3' tiene un valor nulo.13. ¿Cuál es la razón de crear esta **función en Python para una transformación de datos**? `defcreate_dimension(data, id_name):` list\_keys = \[] ` value = 1` ` for _ in` data: list\_keys.append(value) ` value = value + 1` ` return pd.DataFrame({id_name:list_keys, 'values'`:data}) Una manera eficiente de crear un DataFrame con valores únicos de posibles dimensiones o valores categóricos.14. ¿Cuál es la importancia del **formato de los datos en el proceso de carga** en una ETL? El formato de los datos es esencial en el proceso de carga de una ETL, ya que determina cómo se pueden manipular y transformar los datos durante la fase de transformación.15. ¿Cuál es la **librería en Python** para gestionar el uso de **AWS**? boto316.Desde Python únicamente se puede gestionar carga a data warehouses de AWS como Redshift. ¿Esto es verdadero o falso?Verdadero, ya que solo existen librerías de Python para comunicarse con AWS.REPASAR CLASE17. ¿Qué **herramienta de Pentaho** debe usarse para leer datos de una **tabla en una base de datos**? Input Table18. ¿Cuál es el propósito del paso **Select values** en Pentaho PDI? Se utiliza para seleccionar y renombrar columnas específicas de un conjunto de datos.19. ¿Cuál es el propósito del paso **Filter rows** en Pentaho PDI? Filtrar filas específicas de un conjunto de datos en función de una o más condiciones.20.¿En Pentaho solo puedo hacer un cargue de datos a bases de datos relacionales?No, hay múltiples target no relacionales a los que puedo cargar.Ver menos

Ha sido un reto muy grande poder terminar el curso. Afortunadamente pude resolver todo excepto la carga de datos hacia Redshift. Me daba un [Err 61] que impedía la conexión con los puertos, verificaba que la configuración fuera la correcta y según yo estaba bien. Volvía a hacer todo de nuevo (también para repasar) pero me salió exactamente el mismo error. Después de varios días terminé por cargar los datos a una BD en postgres. Creo que fue algún error que cometí a la hora de configurar el clúster en AWS (o quizás el bucket) y no me di cuenta. En fin. Ahora estoy haciendo un curso alternativo en udemy para tener bases más sólidas respecto a cuestiones de AWS y cuando las tenga pienso volver a intentar hacer la carga. A pesar de los errores he aprendido bastante.

24. Siguientes pasos

  • Orquestar. Apache airflow

Gracias Carlos por este curso, junto con el de Airflow me permitieron conseguir mi primer trabajo como Data Engineer

Aqui les dejo mi humilde proyecto con lo aprendido en el curso. No es mucho, pero es trabajo honesto 😅.