Aplicativo de amostra de comércio eletrônico com análise de streaming e IA em tempo real

O aplicativo de amostra de comércio eletrônico ilustra casos de uso comuns e práticas recomendadas para implementar análises de dados de streaming e IA em tempo real. Use esse aplicativo para saber como responder dinamicamente às ações do cliente ao analisar e responder a eventos em tempo real. Veja também como armazenar, analisar e visualizar esses dados de eventos para ter insights de longo prazo.

O aplicativo é implementado em Java e usa os produtos a seguir:

  • BigQuery
  • Cloud Bigtable
  • Dataflow
  • Pub/Sub

O aplicativo de amostra está disponível no GitHub em retail-java-applications (em inglês).

Metas

O aplicativo foi projetado para atender aos requisitos a seguir:

  • Valide os dados de entrada e aplique correções sempre que possível.
  • Analise os dados da sequência de cliques para manter uma contagem do número de visualizações por produto em um determinado período. Armazene essas informações em um armazenamento de baixa latência em que o aplicativo possa usá-las para fornecer mensagens de "número de pessoas que visualizaram este produto" aos clientes no site.
  • Use os dados da transação para informar a ordem do inventário:

    • Analise os dados da transação para calcular o número total de vendas de cada item, por loja ou globalmente, para um determinado período.
    • Analise os dados de inventário para calcular o inventário de entrada de cada item.
    • Transmita esses dados aos sistemas de inventário de modo contínuo para que eles possam ser usados para a tomada de decisões de compra do inventário.
  • Valide os dados de entrada e aplique correções sempre que possível. Grave todos os dados que não podem ser corrigidos em uma fila de mensagens inativas para análise e processamento extras. Crie uma métrica que represente a porcentagem de dados de entrada que são enviados para a fila de mensagens inativas para monitoramento e alerta.

  • Processe todos os dados de entrada em um formato padrão e os armazene em um local para usá-los em análises e visualizações futuras.

  • Desnormalize os dados de transações para vendas na loja para que eles possam incluir informações como a latitude e a longitude do local da loja. Forneça as informações do armazenamento por meio de uma tabela com alterações lentas no BigQuery, que usa o ID do armazenamento como uma chave.

Dados

O aplicativo processa os tipos de dados a seguir:

  • Dados de sequência de cliques sendo enviados pela interface da Web do Newkick.
  • Dados de transações enviados por sistemas locais ou de software como serviço (SaaS).
  • Dados de inventário sendo enviados por sistemas locais ou de SaaS.

Padrões de tarefas

O aplicativo apresenta vários padrões de tarefas que mostram a melhor maneira de realizar tarefas de programação em Java que normalmente são necessárias para criar esse tipo de aplicativo.

O app contém os padrões de tarefas a seguir: