En este artículo explicaremos cómo funciona el despliegue de un modelo en streaming o, para ser más específicos, en real time streaming analytics o análisis en tiempo real de transmisión.
Despliegue de un modelo en streaming
¿Qué es real time streaming analytics?
Para entender qué es el despliegue de un modelo en streaming, veamos primero qué es el streaming analytics. Este es un proceso de análisis de datos en tiempo real que se lleva a cabo mientras los datos están siendo transmitidos o generados en tiempo real. En este proceso, los datos se capturan y analizan de manera continua y en tiempo real para identificar patrones, tendencias, anomalías o cualquier otra información relevante.
Este tipo de análisis se utiliza en una variedad de aplicaciones, incluyendo análisis de redes sociales, monitoreo de seguridad, análisis de datos financieros, análisis de tráfico de redes o análisis de rendimiento en tiempo real, entre otros.
En el contexto del análisis de datos, el streaming en tiempo real se refiere a la transmisión y procesamiento de datos en tiempo real, lo que significa que la información se recopila, procesa y analiza al mismo tiempo que se está generando. Esto es diferente al procesamiento de datos en lote, donde los datos se recopilan y se procesan en lotes o conjuntos después de que se hayan generado. El análisis de transmisión en tiempo real permite una respuesta más rápida y una toma de decisiones más oportuna basada en la información en tiempo real que se está generando.
Análisis de sentimiento de tweets en tiempo real
A continuación vamos a ver cómo funciona el despliegue de un modelo en streaming con análisis de sentimiento de tweets en tiempo real. En esta práctica aprenderemos a usar las capacidades de procesamiento en streaming de Google Cloud Platform para analizar en tiempo real y de manera continua análisis de sentimientos sobre tweets de la temática que queramos.
Para esta práctica utilizaremos el servicio serverless de GCP Cloud Function para recopilar los tweets directamente de Twitter a través de su API oficial. Posteriormente, haremos uso del servicio de GCP Pub/Sub para almacenar los tweets recogidos e ir procesándolos en tiempo real con Dataflow y realizando inferencias con nuestro servicio desplegado en Cloud Run.
Al terminar esta práctica seremos capaces de recoger información de una fuente externa (en este caso Twitter), procesarla y realizar inferencias sobre ellas, todo en tiempo real y de manera ininterrumpida.
Entendiendo el procesamiento en streaming
Para entender el despliegue de un modelo en streaming primero hay que entender cómo funciona el procesamiento en streaming como tal.
En otros ejercicios hemos trabajado sobre un conjunto de datos que estaba almacenado en un filesystem, en este caso sobre Google Cloud Storage. Entonces, cogíamos esos datos, los procesábamos de alguna forma y una aplicación los consumía de alguna otra manera.
Muchas arquitecturas se basan en este planteamiento, pero tenemos que entender el problema al que nos enfrentamos para saber qué arquitectura elegir en el despliegue de un modelo en streaming. En el caso del procesamiento por lotes, existen inconvenientes como alta latencia, periodicidad o cargas no uniformes.
Por otro lado, tenemos el procesamiento en tiempo real, cuya finalidad es generar un flujo de procesamiento de eventos. Estos eventos serán producidos por lo que llamaremos productores y los consumidores serán los encargados de utilizarlos. Esta nueva arquitectura tiene grandes ventajas, como baja latencia, flujo constante de eventos y procesamiento uniforme.
GCP Pub/Sub
En Google Cloud existe un servicio llamado Pub/Sub, que le permite a lasaplicaciones ser productoras de eventos que se irán almacenando en lo que llamaremos topics y serán consumidos por los consumidores que estén suscritos a los mismos.
Por tanto, es relevante destacar que actuarán los siguientes actores:
- Publicador: nuestra aplicación que recogerá tweets y los mandará al topic de inferencia.
- Topics: donde almacenaremos los tweets que nos vaya enviando Twitter.
- Suscriptor: nuestra aplicación de inferencia en Cloud Run que leerá los tweets y generará predicciones.
Si quieres seguir formándote en alguna de las numerosas temáticas del mundo del Big Data y aprender sobre despliegue de un modelo en streaming y muchos aspectos más para destacar en este demandado mercado laboral, no puedes perderte el Bootcamp Big Data. Aquí podrás, en pocos meses, transformarte en un gran profesional IT. ¡Solicita ahora mismo más información y da el salto que catapultará tu futuro!