Dashboard Gastos GCBA

R Airflow

Extracción y transformación de datos del GCBA.

Maxi Galoto
2023-02-16

react

Inicio



Introduccion

Volver al Inicio

Buenos Aires Compras (BAC) es el sistema electrónico de compras y contrataciones del Gobierno de la Ciudad Autónoma de Buenos Aires. Es una herramienta de apoyo en la gestión de Compras y Contrataciones que llevan adelante las entidades gubernamentales, permitiendo la participación de los compradores, proveedores y la comunidad. De esta manera, la compra pública atraviesa los pasos necesarios para ofertar y adquirir los productos de forma online, ágil, transparente y segura.

Todas las jurisdicciones dependientes del Poder Ejecutivo de la Ciudad Autónoma de Buenos Aires publican en BAC sus avisos y gestionan procesos electrónicos de adquisición y contratación de bienes y servicios, en los que seleccionan a los proveedores en base a las ofertas cargadas a tal fin en el sistema.

El Gobierno de la Ciudad de Buenos Aires hace disponible el acceso a información sobre las contrataciones públicas que le permite saber cómo se gestionan las mismas. La política de datos abiertos del Gobierno de la Ciudad de Buenos Aires nos permite poder realizar análisis de datos sobre los distintos tipos de gastos por repartición.

Este trabajo consiste en la automatizacion de la extraccion de datos de Buenos Aires Compras para plasmar la informacion en un dashboard que nos muestre los siguientes items:



Dashboard

Volver al Inicio



Docker

Volver al Inicio

¿Porque Docker?

Docker es una herramienta de CI/CD que permite la implementación de código sin problemas desde los entornos de desarrollo hasta los de producción. Al crear virtualización a nivel de sistema operativo, puede empaquetar una aplicación y sus dependencias en un contenedor virtual. O, en otras palabras, el código que se desarrolló y probó en el entorno de desarrollo se ejecutará exactamente con el mismo entorno (por ejemplo, el mismo sistema operativo, compiladores, paquetes y otras dependencias) en prod. Docker puede ejecutarse de forma nativa en sistemas Linux y con Docker Desktop (o equivalente) en macOS y Windows OS.

Para correr el ETL se utilizo Airflow con Docker (Imagen apache/airflow:2.3.4). Los siguientes comandos instalan y corren Airflow en modo detach en el puerto 8080:

docker-compose up airflow-init

Levantando la arquitectura:

docker-compose up -d

Una vez ejecutado el DAG los archivos de salida se guardan dentro de la carpeta home.



Librerias

Volver al Inicio

Se utilizaron las siguientes librerias de R y Python para el ETL + el dashboard final:



Metodologia

Volver al Inicio

Se hace lectura de un archivo .csv desde la siguiente página: GCBA utilizando pandas y Airflow para orquestar el flujo de trabajo y automatizar la tarea.

Hay que tener en cuenta los siguientes ítems:



Estructura

Volver al Inicio

A continuación se muestra la lista de las carpetas principales del repositorio:

.
│   .gitignore
│   bac.Rmd
│   docker-compose.yaml
│   README.md
│
├───dags
│   │   etl.py
│   │   my_dag.py
│   │
│   ├───data_csv
│   │       README.md
│   │
│   └───home
│           ejercicio1_all.csv
│           ejercicio2_all.csv
│           ejercicio3_all.csv
│           README.md
│
└───images
        empresas.gif
        montos.gif

En resumen:



Repositorio

Volver al Inicio





Resultados

Volver al Inicio

Para observar los montos operados en el periodo por Rubro y Repartición podemos acceder a las siguientes hojas del dashboard:



En cada una de ellas podemos visualizar:

Para observar los montos operados por empresa:



Por último, para observar los montos operados por tipo de contratación tenemos que acceder a la ante ultima hoja del dashboard.



Continua

Volver al Inicio

Para las próximas actualizaciones se tendrán en cuenta cada uno de ellos.