lapiceroazul4 / Ingenieria-Datos-IA-Roadmap-UAO

This repository will serve as a resource to store guidelines, advice, and an overview of the career and various subjects you will encounter along the way.
10 stars 0 forks source link

No sé que sistema operativo utilizar para ETL. #2

Closed JuanRuizIng closed 3 months ago

JuanRuizIng commented 3 months ago

Hola a todos,

Soy Juan Andrés Ruiz de cuarto semestre y estoy viendo ETL. Me surgió una pregunta al realizar el primer workshop. Estoy investigando, sobre todo para la base de datos que voy a utilizar (PostgreSQL), qué sistema operativo me es más conveniente utilizar. Estoy entre dos opciones: WSL (Ubuntu) o Windows. Windows me permite realizar todo el workshop1 sin problema, pero tengo la duda de cuál podría ser más conveniente a largo plazo, especialmente cuando necesite utilizar Airflow, Kafka y Docker. Quiero estar prevenido y poder configurar la base de datos en un sistema operativo que me permita correr mi código sin morir en el intento.

Quisiera saber sus experiencias y qué me podrían recomendar.

Muchas gracias a todos 😃.

SPinzon12 commented 3 months ago

Me parece un acierto utilizar PostgreSQL, especialmente por lo fácil que es conectarse con Power BI. Sin embargo, te recomendaría usarlo en Docker, con un contenedor, para evitar problemas más adelante a la hora de realizar la conexión desde el WSL. Yo soy muy de usar Airflow con WSL para tener más control del DAG y las tasks, mientras que con Kafka y DB prefiero usarlos con contenedores.

Una de las ventajas de comenzar a utilizar WSL es que no tendrás mucho problema a la hora de importar tus propias funciones. Mientras que con Windows, si quieres hacer eso, te tocará estar lidiando con la ruta del python_path y demás. Espero que te sirva.

lapiceroazul4 commented 3 months ago

Holaa Juan!!

Yo también te recomendaria utilizar WSL para ETL, en el primer workshop quizá puedas seguir usando todo desde el Windows pero una vez llegues a Kafka y Airflow si o si necesitas Linux, ahora bien, esto lo puedes hacer de varias forma:

  1. Hay quienes optan por usar instancias de Docker con las imagenes de estos servicios, básicamente te conectas al docker y corres las cosas ahí, las personas que hacen esto usan la DB en el propio docker por facilidad, aunque también puedes tener unas cosas en Windows por ejemplo la db y el servicio de Airflow en Docker

  2. También puedes hacerlo desde una maquina virtual, aunque en lo personal siento que es la forma más engorrosa de hacer esto, puesto que la maquina te da varias limitaciones, por ejemplo, tener que usar VIM para escribir código, etc...

  3. Es hacerlo con Windows Subsystem for Linux, esto te permite correr Linux como si fuera una app de tu Windows, con este sistema tienes una integración mucho más amigable con tu windows y puedes usar VS Code, etc...

En lo personal prefiero la opción 3, y si estás entre la 1 y la 2,, tomaría la 1ra.