Exemple d'application d'e-commerce avec une analyse de flux en continu et une IA en temps réel

L'exemple d'application d'e-commerce illustre des cas d'utilisation courants et des bonnes pratiques pour mettre en œuvre l'analyse de flux de données en continu et l'IA en temps réel. Utilisez-le pour apprendre à répondre de manière dynamique aux actions des clients en analysant des événements et en y répondant en temps réel, et pour apprendre à stocker, analyser et visualiser ces données afin d'obtenir des insights à plus long terme.

L'application est mise en œuvre en Java et utilise les produits suivants :

  • BigQuery
  • Cloud Bigtable
  • Dataflow
  • Pub/Sub

L'exemple d'application est disponible sur GitHub à l'adresse retail-java-applications.

Objectifs

L'application a été conçue pour répondre aux exigences suivantes :

  • Valider les données entrantes et apporter des corrections, si possible.
  • Analyser les données de flux de clics pour obtenir le nombre de vues par produit sur une période donnée. Stocker ces informations dans un magasin à faible latence pour permettre à l'application de s'en servir afin d'indiquer le "nombre de personnes ayant consulté ce produit" aux clients sur le site Web.
  • Utiliser les données de transaction pour optimiser l'ordre de l'inventaire :

    • Analyser les données de transaction pour calculer le nombre total de ventes pour chaque article, à la fois par magasin et à l'échelle mondiale, sur une période donnée.
    • Analyser les données d'inventaire pour calculer l'inventaire entrant pour chaque élément.
    • Transmettre en continu ces données aux systèmes d'inventaire afin de pouvoir les utiliser pour la prise de décisions d'achats.
  • Valider les données entrantes et apporter des corrections, si possible. Écrire toutes les données non rectifiables dans une file d'attente de lettres mortes à des fins d'analyse et de traitement supplémentaires. Créer une métrique représentant le pourcentage de données entrantes envoyées à la file d'attente de lettres mortes et mettre cette métrique à disposition des outils de surveillance et de génération d'alertes.

  • Traiter toutes les données entrantes dans un format standard et les stocker dans un entrepôt de données afin de les utiliser ultérieurement à des fins d'analyse et de visualisation.

  • Dénormaliser les données de transaction pour les ventes en magasin afin qu'elles puissent inclure des informations telles que la latitude et la longitude de l'emplacement du magasin. Diffuser les informations sur le magasin via une table à évolution lente dans BigQuery, en utilisant l'ID du magasin en tant que clé.

Données

L'application traite les types de données suivants :

  • Données de flux de clics envoyées par l'interface Web de Newkick.
  • Données de transaction envoyées par des systèmes sur site ou SaaS (Software as a Service).
  • Données d'inventaire envoyées par des systèmes sur site ou SaaS.

Modèles de tâche

L'application contient un certain nombre de modèles de tâche qui illustrent le meilleur moyen d'effectuer les tâches de programmation Java couramment utilisées dans la création de ce type d'application.

L'application contient les modèles de tâche suivants :