En este post vamos a hacer el desarrollo de un modelo en streaming. El streaming o real time streaming analytics es el proceso de analizar y procesar datos a medida que se generan o se incorporan a un sistema en tiempo real o casi en tiempo real. Esto hace que las organizaciones obtengan información sobre sus datos tan pronto como se crean, lo que les permite tomar decisiones oportunas y tomar medidas inmediatas.
Desarrollo de un modelo en streaming
Resumen
Vamos a comenzar con el desarrollo de un modelo en streaming, es decir, con el desarrollo de nuestra aplicación de inferencia en streaming. Constará de tres partes:
- Recolección: en este primer paso crearemos nuestro publicador que dejará los tweets en un topic.
- Inferencia: realizaremos inferencias en tiempo real leyendo datos del topic.
- Almacenamiento: guardaremos los resultados de la inferencia.
Configuración de nuestro proyecto en GCP
Debemos desarrollar los siguientes pasos para seguir con el proyecto de desarrollo de un modelo en streaming:
- Seleccionar o crear un proyecto en GCP.
- Asegurarnos de que la facturación está activada en nuestro proyecto.
- Habilitar la API de Google Cloud Pub/Sub.
- Habilitar la API de Google Cloud Function.
- Introducir el ID de proyecto de GCP en la celda de abajo. Ejecutar la celda para asegurarnos de que el Cloud SDK usa el proyecto adecuado para todos los comandos en este notebook.
Desarrollo de un modelo en streaming: un ejercicio
#Desarrollo de un modelo en streaming
PROJECT_ID = "clases - bootcamp - ix"
! gcloud config set project $PROJECT_ID
#Desarrollo de un modelo en streaming
import sys
if 'google.colab' in sys.modules:
from google.colag import auth as google_auth
google_auth.authenticate_user ()
else:
%env GOOGLE_APPLICATION_CREDENTIALS ' '
Creación de bucket en Cloud Storage
Cuando ejecutemos un job de entrenamiento usando el Cloud SDK, lo que hacemos es subir un paquete de Python que contiene el código de entrenamiento en Google Cloud Storage. AI Platfom ejecuta este paquete en el job.
Establecemos el nombre del bucket a continuación, que tiene que ser único para todos los bucket de GCP. También tenemos que establecer la variable REGION
, la cual usaremos para todas las operaciones a lo largo del notebook. Debemos asegurarnos de elegir una región en la que Cloud AI Platform esté disponible:
BUCKET_NAME = "clase - keepcoding - da - 210222"
REGION = "europe - west1"
Finalmente, validamos que tenemos acceso al bucket de Cloud Storage mirando su contenido:
gsutil ls - al gs: //$BUCKET_NAME
Crear un publicador usando Cloud Function
Lo primero que vamos a hacer en nuestro desarrollo de un modelo en streaming es crear la aplicación que recogerá los tweets y los enviará al topic. Para ello, debemos tener unas claves que podemos solicitar.
Vamos a correr esto. La librería que vamos a utilizar se llama tweepy y sirve para leer los tweets en tiempo real.
Después de las librerías, instalamos los requirements. Aquí básicamente lo que tenemos son unas credenciales de desarrollador de Twitter. Esto permite acceder a los datos de Twitter para hacer solo una lectura.
En este apartado del desarrollo de un modelo en streaming también le diremos al algoritmo sobre qué proyecto vamos a escribir el topic y el nombre del mismo.
Ahora vamos a escribir una clase que va a estar actualizando los tweets y publicándolos en el topic que hayamos elegido.
El topic que utilizaremos se llama “tweets”.
Importamos nuestras variables y, a continuación, vemos un bloque de código en el que le pedimos al algoritmo que nos filtre los tweets por temáticas; por ejemplo, en nuestro caso, queremos que los filtre por la palabra “bitcoins”. En este apartado podemos poner la temática sobre la que queramos saber y filtrar nuestros datos:
Ahora lo que tendremos que hacer es crear nuestro topic. Para ello vamos a Gooogle Cloud, en la barra de búsqueda ponemos “pubsub” y una vez allí creamos un topic al que le pondremos “tweets”.
Si tu meta es seguir aprendiendo acerca de como ejecutar el desarrollo de un modelo en streaming y quieres seguir formándote sobre el despliegue de un modelo en streaming y muchos aspectos más en el demandado mercado laboral del Big Data, no puedes perderte el Big Data, Inteligencia Artificial & Machine Learning Full Stack Bootcamp. Aquí podrás, en pocos meses, transformarte en un gran profesional IT con la guía constante de grandes profesionales. ¡Solicita ahora mismo más información y da el salto que catapultará tu vida laboral!