Home 101 Data Engineer 101 ETL

Data Engineer 101 ETL

Por Felipe Veloso

Data engineering 101

Hoy en día se ha comentado mucho sobre la data y el manejo que puedes hacer sobre esta, generalmente el desafío como data scientist es hacer un feature engineer sobre los dataset  y aplicar un modelo de machine learning.

Resulta que los grandes desafíos de diversas empresas han sido menos visibles a ojo de las personas, el data engineering es una rama de las analiticas avanzadas que se centra mucho en él como obtener y disponibilizar la data de mejor forma.

Data Engineering and Data Science collaboration processes | by Alina GHERMAN | Towards Data Science

Vemos una gran cantidad de procesos previos que se necesitan para tener un dataset lo suficientemente limpio y preparado para las diversas áreas de datos/reportería.

Entendiendo que existen múltiples áreas en una empresa/internet (y que estas generan data) también existen múltiples formas y herramientas de conglomerar esta información, ya sea vía on-premise, cloud, híbrido, o hasta almacenar en un hdd externo a esto se le denomina data lake o data swamp dependiendo de lo organizado que este se encuentre.

Posteriormente dependiendo de la madurez o necesidad de la organización se necesita procesar/limpiar y entregar en un lugar de fácil acceso para hacer algo con esta data, así orientar a las organizaciones más en la dirección que entrega la data.

Resumiendo el proceso principal que se dedica lel Data Engineer es en los procesos de ETL (extract-transform-load) o ELT, aunque no es su única tarea, eso lo determinaremos en otros post.

Show me the code!

Bueno, haciendo esta breve introducción la intención es transmitir el minimo mensaje posible, un data engineer trabaja con data, de una o múltiples fuentes y la entrega a una o múltiples fuentes.

Por lo tanto se hará el código de data engineer 101, el cual hace un scraping del sitio de ofertas laborales https://www.getonbrd.com/ y asi generar un ETL básico, el cual es la piedra angular de nuestro proyecto final (ups.. si hay un proyecto grande el cual he estado preparando).

Para ejecutar este proyecto deben descargar el código y procedemos a analizar los sectores que me interesa mostrarles.

Main.py


from utils.utils import obtain_categories, obtain_jobs

def data():
    df_categories = obtain_categories()
    obtain_jobs(df_categories['id'])

data()

Esencialmente, este script ejecuta una llamada a las librerías desarrolladas y la ejecución se ve abajo.


python3 main.py

Esta ejecución desde tu terminal , activa la librería que hace un scrapper del sitio https://www.getonbrd.com/ y trae la información dejándola en un cómodo .csv, te invito a revisar el repositorio y customizar la información que deseas traer.

Es importante entender que esta es la primera iteración. pero cumple con los principios de identificar una fuente de datos, obtener la data, limpiarla y luego almacenarla en una bbdd alternativa (pero con data limpia).

 

Por hoy los dejo, estaré atento a sus comentarios!

 

You may also like

1 Comentario

Data Engineer 201 road to ML Engineer - Feeding The Machine 26/04/2021 - 10:10 AM

[…] lo que vimos en el post anterior, existen múltiples formas de tener obtener y trasladar información, el proceso rústico del ETL […]

Reply

Deja un Comentario

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More