Testes de jobs Spark com JUnit

A boa prática de desenvolvimento de software diz que devemos criar sempre testes para nossos códigos, e no universo de Big Data não deveria ser diferente. Neste artigo apresento como testar um código Spark com JUnit para jobs que rodam em batch (não-streaming).

»

Otimização dos parâmetros do Spark ALS (Collaborative Filtering) usando MOE

Esse tutorial é sobre otimização de parâmetros em modelos de machine learning. Para esse tutorial, a ferramenta utilizada é o MOE, Metric Optimization Engine, desenvolvido pelo Yelp que implementa o algoritmo de busca usando Gaussian Process. O algoritmo escolhido para ter os parâmetros otimizados é o Collaborative Filtering baseado na fatoração da matriz de preferências. De forma genérica, esse é um processo que pode ser facilmente adaptado para outros algoritmos e permite sistematizar a árdua tarefa de escolher os melhores parâmetros para um modelo. »

Compilação do Spark 1.5 (com bugfix)

Aproveitando que foi feito o lançamento da versão 1.5.0 do Spark, esse tutorial é sobre a construção do pacote do Spark usando o branch atualizado. O branch foi criado para fazer a estabilização do código que deu origem ao primeiro release. Esse branch continua recebendo atualizações importantes que farão parte de releases bugfix no futuro. Com esse procedimento, é possível gerar o pacote com essas últimas atualizações (e até customizar com alterações próprias) antecipando correções que podem ajudar em produção. »

BigData na Globo.com

A proposta desse artigo é fundamentar alguns conceitos de BigData e explorar a dinâmica de como tratar um grande volume de dados para extrair valor. A ideia é apresentar a solução de dados na Plataforma de BigData da Globo.com usada pelo Sistema de Recomendação e comentar a experiência do seu desenvolvimento. Esse artigo é uma atualização e expansão da palestra realizada no Rio BigData Meetup em 21 de Outubro de 2014. »

Como Spark usa a memória para obter performance superior ao MapReduce

Muitas Aplicações de Big Data executam múltiplas operações paralelas sobre o mesmo conjunto de dados. No tradicional modelo MapReduce, estes algoritmos exigem o encadeamento múltiplas operações de map e reduce o que torna o processo lento e dispendioso. O Spark é um framework de processamento paralelo que que visa atender aplicações que se beneficiam do reuso de um conjunto de dados, mantendo a escalabilidade e tolerança a falhas encontradas no modelo MapReduce. »