Skip to content

hikikae/Api-Data-Pipeline-Integration

Repository files navigation

Api-Data-Pipeline-Integration

Uno de los principales objetivos para este proyecto es el enriquecimiento de los datos estáticos de Google Maps y Yelp, por medio de API´s.


✨ Elementos del Proceso

Cloud Scheduler

El proceso comienza definiendo un horario de actualización de los datos para que la carga sea de forma automática, para ello se utilizó Cloud Scheduler, este llama a un endpoint HTTP que ejecuta al Cloud Function que carga los datos de las API's.La URL se encuentra en la sección de activadores.



El flujo de trabajo de la primer Cloud Function es obtener y almacenar la información relevante de los restaurantes. Para ello, se obtienen primero las coordenadas de ciertas ciudades dentro de los cinco estados con mayor densidad poblacional de los Estados Unidos, mediante Geocoding API. Posteriormente, se utiliza Places API para extraer los datos de restaurantes.



Cloud Function es activada mediante una solicitud de HTTP.



Es importante mencionar que tanto la Geocoding API como la Places API son proporcionadas por Google y requieren credenciales de API válidas para su correcto funcionamiento.

Cloud Storage (Data Lake)

Los datos se recolectan en su forma original, sin procesamiento previo, en un formato JSON y son almacenados junto con la data estática en el bucket de Cloud Storage, es decir el Data Lake.



En esta Cloud Function se llevó a cabo la transformación, limpieza y carga de los datos originales mediante la biblioteca de Pandas. Una vez completado el proceso, los datos se envían a un Bucket de Cloud Storage y se emite una notificación en Slack para informar sobre la finalización del mismo.



Cloud Scheduler

Una hora después del proceso de ETL se ejecuta una query para añadir esa nueva data a la tabla principal que contiene ya, la data estática.



Cloud Storage (Data Warehouse)

Una vez que se han llevado a cabo los procesos de transformación de los datos, éstos se ponen a disposición en el bucket del proyecto que es nuestro Datawarehouse. De esta forma, tanto el departamento de Data Analytics como el de Data Science pueden acceder a ellos y utilizarlos para sus respectivos análisis y proyectos. Este enfoque facilita la colaboración y el intercambio de información valiosa entre los equipos y contribuye a la toma de decisiones informadas basadas en datos precisos y actualizados.



Slack API

La finalidad de la integración con Slack es enviar una notificación acerca del proceso de carga de datos, con el propósito de evitar la necesidad de estar monitorizando constantemente la plataforma de GCP. La URL del webhook para ejecutar la notificación es única y específica para cada proyecto.



🛠️ Tecnologías

  • Google Cloud Plataform (GCP)
  • Cloud Scheduler
  • Cloud Function
  • Cloud Storage
  • Pandas
  • Slack API
  • Python

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages