BT

Disseminando conhecimento e inovação em desenvolvimento de software corporativo.

Contribuir

Tópicos

Escolha a região

Início Notícias Análise em tempo real no Pinterest utilizando o MemSQL e o Spark Streaming

Análise em tempo real no Pinterest utilizando o MemSQL e o Spark Streaming

Favoritos

A Pinterest, empresa por trás da ferramenta de bookmarking visual que ajuda a descobrir e salvar idéias criativas, está usando análise de dados em tempo real para tomada de decisões orientada a dados (data-driven). Estão experimentando o MemSQL e as tecnologias Spark para o engajamento de usuários em tempo real.

Utilizando o MemSQL e o Spark, a Pinterest criou um pipeline para receber dados dentro do MemSQL utilizando o Apache Kafka e alimenta os dados dentro do Spark via Spark Streaming API. Essa solução fornece, em tempo real, informações sobre como os usuários estão interagindo com os Pins pelo mundo a fora. Isso ajuda a Pinterest a melhorar o mecanismo de recomendação mostrando os Pins relacionados para as pessoas usarem o serviço para diferentes casos de uso como: se planejar sobre quais produtos comprar, locais para ir e receitas para cozinhar.

Os dados de engajamento do Pin são inseridos em um tópico do Kafka que é então consumido pela tarefa do Spark streaming. Nessa tarefa cada Pin é filtrado e então enriquecido, com a geo-localização e a informação da categoria do Pin. Esse dado enriquecido é persistido pelo banco de dados MemSQL usando MemSQL Spark Connector e é disponibilizado para servir de consulta. O conector MemSQL Spark fornece ferramentas para leitura e escrita no banco de dados MemSQL usando o Spark. O conector usa MemSQLRDD para ler os dados do banco de dados MemSQL.

Essa solução oferece uma infra-estrutura que coleta, armazena e processa os dados de engajamento dos usuários em tempo real. Também ajuda a alcançar as seguintes recursos:

  • Alto desempenho no log de eventos usando um agente chamado Singer para coletar eventos de logs e enviá-los para um repositório centralizado;
  • Transporte e armazenamento confiável de log utilizando o Apache Kafka e serviço de persistência de log chamado Secor, que escreve de forma confiável esses eventos para o armazenamento de longo prazo na Amazon S3. Secor foi projetado para superar o fraco modelo de consistência do S3, sem a perda de dados e com escalabilidade horizontal e particionamento opcional de dados baseados em data.
  • Execução rápida de consulta de dados em tempo real que permite uma execução de consultas SQL sobre os eventos à medida que eles chegam.

Avalie esse artigo

Relevância
Estilo/Redação

Conteúdo educacional

BT