- Generación de datos con Faker
- Airflow
- Proyecto DBT
- DAG de generación de datos
- DAG de transformación de datos con DBT
- Chequear si es más liviana la imagen con pip sobre poetry
Hay dos formas para tener el ambiente de Python configurado:
- Usando Poetry, es
poetry install
y luegopoetry shell
para activar el entorno.
- Si no se tiene Poetry instalado, primero se puede instalar pipx y luego instalando poetry.
- Si se prefiere usar el entorno local (o algún otro configurado con venv) se puede utilizar
pip3 install -r requirements.txt
.
Luego, para levantar Airflow se puede usar:
airflow db migrate && airflow users create --username airflow --firstname Peter --lastname Parker --role Admin --password airflow --email spiderman@superhero.org
airflow webserver --port 8080 & airflow scheduler &
docker compose up -d
¡Vieron que es más sencillo!
- Poner los statements para crear las tablas en sql/create_tables.sql.
- Modificar las funciones de obtención de datos en td7/schema.py.
- Escribir los generadores de datos en td7/data_generator.py, viendo también la lógica de generación en dags/fill_data.py.
- Armar el o los DAGs necesarios en dags/.
- Un ejemplo de un nodo para cargar datos está en dags/fill_data.py.
- Un ejemplo de un nodo para correr transformaciones está en dags/run_dbt.py.
- Armar las transformaciones de DBT usando el proyecto inicializado en
dbt_tp/
. - Para poder correr el DAG de DBT es necesario configurar una nueva conexión en Airflow: Admin > Connections > Add y luego configurar la conexión para el host
postgres
puerto5432
con nombrepostgres
y configurar los parámetros de la conexión indicados en el.env
.
Si quieren agregar dependencias pueden usar:
poetry add <dependencia>
poetry export --without-hashes --format=requirements.txt > requirements.txt
docker compose build
o directamente modificar el requirements.txt y correr el build de nuvo.
docker compose run dbt <COMMAND>
En la UI de Airflow -> Browse
--> dbt Docs