Panoramica delle trasformazioni di singoli messaggi (SMT)

La maggior parte delle pipeline di dati in streaming richiede trasformazioni dei dati. Alcuni utenti preferiscono trasformare i dati dopo che hanno raggiunto la destinazione in una pipeline di estrazione, caricamento e trasformazione (ELT), mentre altri preferiscono trasformare i dati prima della loro importazione in una pipeline di estrazione, trasformazione e caricamento (ETL). Tradizionalmente, questa architettura richiedeva pipeline complesse con strumenti come Dataflow o Apache Flink per eseguire le trasformazioni dei dati.

Pub/Sub offre Single Message Transforms (SMT) per semplificare le trasformazioni dei dati per le pipeline di streaming. Le SMT consentono modifiche semplici ai dati e agli attributi dei messaggi direttamente in Pub/Sub. Le SMT eliminano la necessità di ulteriori passaggi di elaborazione dei dati o di prodotti di trasformazione dei dati separati.

Quando viene eseguito un SMT, il messaggio Pub/Sub viene preso come input, inclusi i dati e gli attributi del messaggio. L'output è un messaggio Pub/Sub trasformato, con modifiche ai dati o agli attributi. Le SMT sono integrate nell'API Pub/Sub, quindi puoi gestirle nell'ambito delle configurazioni di argomenti o sottoscrizioni.

Casi d'uso delle SMT

Prendi in considerazione la progettazione di un negozio online che vuole fornire ai clienti consigli personalizzati sui prodotti mentre navigano sul sito web. A questo scopo, puoi utilizzare Pub/Sub per raccogliere dati in tempo reale sull'attività dei clienti sul sito. Sono inclusi i dati sui prodotti visualizzati, sui prodotti aggiunti al carrello e sulle valutazioni assegnate ai prodotti.

Tuttavia, questi dati non elaborati spesso richiedono alcuni aggiustamenti prima di poter essere utilizzati per generare consigli. Ad esempio, i dati non elaborati potrebbero contenere dettagli estranei che non sono pertinenti per il tuo caso d'uso. Esempi di questi dettagli sono il tipo di browser del cliente o l'ora in cui ha visitato il sito. Inoltre, i dati potrebbero non essere nel formato richiesto per il sistema di suggerimenti. Ad esempio, i timestamp potrebbero essere in formati diversi o gli ID prodotto potrebbero dover essere convertiti in un tipo diverso.

Puoi utilizzare le SMT Pub/Sub per eseguire trasformazioni dei dati come le seguenti:

  • Rimuovi le informazioni che consentono l'identificazione personale (PII), come nomi completi e indirizzi, per proteggere la privacy dei clienti.

  • Conserva solo gli eventi pertinenti per i consigli, come le visualizzazioni e gli acquisti di prodotti, ed elimina gli altri, come le modifiche al profilo cliente.

  • Assicurati che tutti i timestamp, i valori di valuta e gli ID prodotto rispettino un formato e un tipo coerenti compatibili con il sistema di raccomandazione.

  • Genera nuovi campi di dati dai dati non elaborati, ad esempio il valore totale del carrello degli acquisti o il tempo di permanenza sulla pagina di prodotto.

  • Aggiungi inferenze dai modelli di Gemini Enterprise Agent Platform ai dati degli eventi, come classificazioni, previsioni, sentiment o incorporamenti.

In sintesi, le SMT consentono un'ampia gamma di casi d'uso, tra cui:

  • Mascheramento e oscuramento dei dati: proteggi i dati sensibili mascherando o oscurando campi come numeri di carte di credito o PII, contribuendo alla conformità alle normative sulla privacy dei dati.

  • Conversione del formato dei dati: trasforma i dati tra formati diversi per garantire la compatibilità con i sistemi downstream.

  • Filtro dei messaggi: elabora solo i messaggi pertinenti filtrando quelli indesiderati in base ai contenuti o agli attributi. Le SMT consentono condizioni di filtro più complesse rispetto ai filtri integrati di Pub/Sub.

  • Trasformazioni semplici dei dati: esegui attività di manipolazione di base dei dati, ad esempio manipolazione di stringhe, formattazione di date o operazioni matematiche.

  • Inferenze AI: integra i modelli di AI perfettamente nelle tue pipeline Pub/Sub utilizzando la trasformazione di messaggi singoli (SMT) di inferenza AI.

Tipi di SMT

Pub/Sub supporta i seguenti SMT:

  • Inferenza AI: ottiene inferenze sui messaggi Pub/Sub da un modello Agent Platform.
  • Funzioni definite dall'utente: chiama una funzione definita dall'utente dall'utente (UDF) JavaScript per eseguire trasformazioni personalizzate sui messaggi Pub/Sub.

Flusso di messaggi di esempio per gli SMT

L'immagine mostra un sistema Pub/Sub di esempio con le trasformazioni SMT applicate sia a livello di argomento che di abbonamento.

Figura che mostra l'impatto
  dei messaggi con SMT dell'argomento e SMT dell'abbonamento.
Figura 1: come vengono trasformati i messaggi con gli SMT.

La seguente procedura mostra il flusso dei messaggi nel sistema Pub/Sub:

  1. Le applicazioni publisher Publisher 1 e Publisher 2 pubblicano i messaggi A e B rispettivamente nell'argomento Pub/Sub.

  2. Le SMT dell'argomento trasformano i messaggi A e B rispettivamente nei messaggi A' e B'.

  3. Se uno schema è collegato all'argomento, i messaggi trasformati A' e B' vengono convalidati in base allo schema. Se, ad esempio, A' non corrisponde allo schema, la pubblicazione del messaggio A non va a buon fine e viene visualizzato un errore.

  4. I messaggi trasformati A' e B' vengono scritti nello spazio di archiviazione Pub/Sub.

  5. Pub/Sub recapita i messaggi A' e B' a tutte le sottoscrizioni collegate, ovvero Sottoscrizione 1 e Sottoscrizione 2, come mostrato nell'immagine.

  6. Se per Abbonamento 1 è configurato un filtro, i messaggi A' e B' vengono valutati in base al filtro. Solo i messaggi corrispondenti al filtro passano al passaggio successivo. Gli altri messaggi vengono riconosciuti automaticamente da Pub/Sub.

  7. Se Abbonamento 2 ha un filtro configurato, i messaggi A' e B' vengono valutati in base al filtro. Solo i messaggi corrispondenti al filtro passano al passaggio successivo. Gli altri messaggi vengono riconosciuti automaticamente da Pub/Sub.

  8. Gli SMT dell'abbonamento 1 trasformano i messaggi A' e B'. A' diventa A'' e B' diventa B''.

  9. Le SMT dell'abbonamento 2 trasformano i messaggi A' e B'. A' rimane A' e B' viene filtrato.

  10. Se Abbonamento 1 è una sottoscrizione push con l'unwrapping del payload attivato, i messaggi A'' e B'' vengono sottoposti a unwrapping. Se Abbonamento 2 è una sottoscrizione push con l'annullamento del wrapping del payload attivato, A' viene annullato il wrapping.

  11. Abbonato 1 riceve il messaggio B'', Abbonato 2 riceve il messaggio A'' e Abbonato 3 riceve il messaggio A'.

  12. Gli abbonati confermano la ricezione dei messaggi.

  13. Pub/Sub elimina i messaggi confermati dallo spazio di archiviazione.

Limitazioni

  • È possibile attivare fino a 5 SMT su un argomento o un abbonamento.

  • Le trasformazioni SMT operano su un singolo messaggio Pub/Sub. Non possono aggregare più messaggi Pub/Sub.

Passaggi successivi