Para la entrega final del proyecto se especificó acomodar el modelo dimensional, en donde se enviarán los conjuntos de datos con herramientas de extracción, transformación y carga (ETL). A su vez envió datos en tiempo real como Apache Airflow y Apache Kafka. Para ello se seleccionó el conjunto de datos de los trabajos para ofrecer información de la calificación del trabajo y el título del trabajo. Ahora bien para el procesado de todas las dags se arrancó como se inició el proyecto con la base de datos grande y ya luego se fue arreglando el modelado dimensional.
El objetivo principal del proyecto es analizar las ofertas laborales en el campo de los datos y con el propósito de identificar patrones y tendencias que revelen las habilidades más demandadas en el mercado laboral actual. Esta investigación puede ayudar a las personas interesadas en este ámbito o que quieran meterse a este, ayudando a determinar si es la predicción deseada como una decisión laboral. Todo esto mediante el dataset de kaggle Data Jobs Listings - Glassdoor.
Antes de comenzar asegurate de tener instalados los isguientes componentes:
- Python, lo mas recomendable es que sea la ultima version.
- Docker, puedes hacer uso de docker desktop o descargarlo enl amaquina que dispongas.
- Jupyter, en caso de que quieras tener los notebooks.
- Airflow ya sea en una maquina virtual o en local.
- Descarga e Instalación: Ve al sitio web oficial de PostgreSQL y descarga la versión adecuada para tu sistema operativo.
- Configuración: Durante la instalación, se te pedirá establecer una contraseña para el usuario predeterminado postgres.
- Herramientas Gráficas (opcional): Puedes instalar herramientas gráficas como pgAdmin para gestionar y trabajar con tus bases de datos de PostgreSQL de manera visual.
- Instala el paquete psycopg2: En tu entorno de Python, instala el paquete psycopg2 que permite la conexión con PostgreSQL. Puedes hacerlo utilizando pip:
pip install psycopg2
- Conexión a la base de datos:
import psycopg2 conn = psycopg2.connect( user="postgres", password="tu_contraseña", host="localhost", database="tu_basededatos" )
- Clone el repositorio con el siguiente comando
git clone https://github.com/VinkeArtunduaga/Airflow_dataJobsProject.git
- Asegurate de que cumples con los requisitos anteriores.
- Corra las imagenes de kafka y de postgres mediante
sudo docker compose up -d
- Entrar al contenedor de kafka y crear el topic con los siguientes comandos
sudo docker exec -it kafka-test bash kafka-topics --bootstrap-server kafka-test:9092 --create --topic project kafka-console-consumer --bootstrap-server kafka-test:9092 --topic project --from-beginning
- Correr el kafka consumer mediante
python3 kafka_consumer.py
- Luego correr airflow mediante
airflow standalone
- En caso de querer hacer ista de el dashboard en real time, crear las api con la estructura de datos especificada en el documento y conseguir el link de la api en caso de requerir mas informacion mirar el siguiente link tutorial de power bi con kafka.