Os 7 projetos mais comuns com Hadoop

Crédito: flickr / Robert Scoble

De acordo com a Infoworld, a maioria dos projetos Hadoop se encaixa perfeitamente em um desses sete tipos.

O artigo cita um provérbio que diz: se você oferecer a alguém o seu total apoio e respaldo financeiro para fazer algo diferente e inovador, vai acabar fazendo o que todo mundo está fazendo.

Todo mundo pensa que está fazendo algo especial com estas novas tecnologias de Big Data, mas não demora muito para encontrar os mesmos padrões. Alguns casos específicos podem diferir um pouco, mas aqui estão os sete projetos mais comuns.

Projeto 1: Consolidação de Dados


Chamado de "Enterprise Data Hub" ou "Data Lake", a principal ideia é que você tem diferentes fontes de dados e que pretende realizar a análise através deles.

Este tipo de projeto consiste em obter dados de todas as fontes (em tempo real ou em lote) e carregá-los no Hadoop.

Às vezes, é o primeiro passo para se tornar uma "empresa controlada por dados"; Às vezes você simplesmente quer relatórios bonitos.

Os dados provenientes do “Data Lake” geralmente são armazenados como arquivos no HDFS e em tabelas no Hive ou Impala. O futuro é armazenar e gerenciar os dados no HBase e Phoenix, uma vez que o Hive é mais lento.

Os vendedores gostam de dizer coisas como "esquema de leitura", mas na verdade, para ter sucesso, você deve ter em mente quais serão seus casos de uso (o Hive não é tão diferente de um Data Warehouse).

A verdadeira razão para um “Data Lake” é a escalabilidade horizontal e custo muito mais baixo do que Teradata ou Netezza.

Para a "análise", muitas pessoas configuram o Tableau e o Excel no front-end. Empresas mais sofisticadas com "cientistas de dados reais" usam Zeppelin ou iPython Notebook como front-end.

Projeto 2: Análise Especializada


Muitos projetos de consolidação de dados efetivamente começam aqui, onde você tem uma necessidade especial de carregar um conjunto de dados para um sistema que faz algum tipo de análise.

Estes tendem a ser de domínios específicos, tais como risco de liquidez/simulações de Monte Carlo em um banco.

No passado, tais análises especializadas dependiam de pacotes proprietários, antiquados, que não poderiam se igualar como os dados faziam e frequentemente sofriam de um conjunto limitado de funcionalidades (em parte porque o fornecedor do software não poderia saber tanto sobre o domínio como a instituição imersa nele).

Nos mundos Hadoop e Spark, estes sistemas verificam praticamente o mesmo que os sistemas de consolidação de dados, mas muitas vezes têm mais HBase, código NoSQL customizado e menos fontes de dados (talvez apenas uma). Cada vez mais, eles são baseados no Spark.

Projeto 3: Hadoop como um Serviço


Comum em grandes organizações com projetos de "análises especializadas" (e, ironicamente, um ou dois projetos de "consolidação de dados") que, inevitavelmente, vai começar a sentir a "alegria" (isto é, dor) de gerenciar alguns clusters Hadoop diferentemente configurados, muitas vezes, de diferentes fornecedores.

Em seguida, vão dizer: "Talvez devêssemos consolidar essa situação e reunir recursos", ao invés de ter a metade de seus nós ociosos pela metade do tempo. Eles poderiam ir para a nuvem, mas muitas empresas não podem ou não querem, muitas vezes para a sua própria segurança (leia-se: a política interna da organização).

Isso geralmente significa um monte de receitas prontas e posteriormente contêineres de pacotes Docker.

Blue Data parece ser o mais próximo de uma solução “fora da caixa”, que também vai apelar para organizações menores que carecem de recursos para implantar o Hadoop como um serviço.

Projeto 4: Análise de Streaming


Muitas pessoas chamam isso de "streaming", mas análise de streaming é bastante diferente do streaming tradicional a que estamos acostumados.

Muitas vezes, análise de streaming é uma versão mais em tempo real do que em lotes. Detecção de fraudes ou lavagem de dinheiro: por que não fazer isso na base da transação e pegá-la enquanto está processando, em vez de no final de um ciclo? O mesmo vale para a gestão de inventário ou qualquer outra coisa.

Em alguns casos, este é um novo tipo de sistema transacional que analisa dados bit a bit como em um sistema de análise em paralelo. Esses sistemas se manifestam como Spark ou Storm com HBase (armazenamento de dados mais usual).

Note que a análise de streaming não substitui todas as formas de análise; você ainda vai querer procurar tendências históricas ou verificar dados do passado para considerar algo que antes não tinha importância.

Projeto 5: Processamento de Eventos Complexos


Aqui estamos falando de processamento de eventos em tempo real, onde milissegundos importam.

Embora determinadas aplicações tenham tempos menores, tais como sistemas de negociação de alta qualidade de ultra baixa latência (pico segundos ou nano segundos), você pode esperar tempos de resposta em milissegundos.

Os exemplos incluem a classificação em tempo real de registros de dados de chamadas para empresas de telecomunicações ou processamento de eventos da Internet das coisas. 

Normalmente você verá que esses sistemas usam o Spark e HBase, mas em geral eles são convertidos para o Storm.

No passado, esses sistemas foram baseados em software de mensagens customizados - ou de alto desempenho, de prateleira, produtos de mensagens cliente-servidor - mas os volumes de dados de hoje são maiores para qualquer um.

Os volumes negociados e o número de pessoas com celulares dispararam desde que esses sistemas legados foram criados, além do que sensores médicos e industriais drenam muitos bits.

O projeto Apex parece promissor e mais rápido do que o Storm.

Projeto 6: Streaming como ETL


Às vezes você quer capturar dados de streaming e armazená-los em algum lugar. Esses projetos geralmente coincidem com o número 1 ou número 2, citados acima, mas com seu próprio escopo e características. (Algumas pessoas pensam que estão fazendo os projetos 4 ou 5 mas, na verdade, elas estão armazenando em disco para analisar mais tarde).

Estes são quase sempre projetos que envolvem Kafka e Storm. O Spark também é usado, mas sem justificativa, a menos que você precise fazer análise em memória.

Projeto 7: Substituir ou Aumentar SAS


SAS é bom, mas também é caro e nós não estamos comprando caixas para todos os cientistas e analistas de dados brincarem com os dados.

Além disso, você quer fazer algo diferente do que a SAS pode fazer ou gerar um gráfico mais bonito. Aqui está o seu belo “Data Lake”. Aqui está o iPython Notebook ou Zeppelin. Vamos preencher os resultados em SAS e armazenar resultados do SAS aqui.

Há projetos usando Hadoop, Spark ou Storm também. Se você estiver usando o Hadoop, você provavelmente irá reconhecê-los.


Se você é um veterano com muito medo do "Big" em Big Data ou do Hadoop, não se preocupe. Quanto mais as coisas mudam, mais elas permanecem iguais. Você vai encontrar muitas semelhanças entre o material usado para implantar e as tecnologias modernas que giram em torno da Hadooposfera.

Conclusão


Com este panorama dos tipos de projetos Hadoop mais comuns, pretendo ajudá-lo a identificar se sua empresa tem um caso de uso para as tecnologias para Big Data.

É comum que as pessoas pensem que têm projetos Big Data quando na verdade não têm, mas a "necessidade" de usar algo que todo mundo está comentando fala mais alto.

O entendimento dos casos de uso para Big Data pode poupar tempo e dinheiro, por isso fique atento!

Para saber mais

  1. Baixe o ebook sobre soluções para Big Data que escrevi;
  2. Se inscreva na lista que criei para discutir o tema no Google Groups;
  3. Confira minha palestra virtual apresentando os conceitos básicos da tecnologia, depois venha trocar idéias!

Christian Guerreiro

Professor por vocação, blogueiro e servidor público por opção, amante da tecnologia e viciado em informação.


Ensino a distância em Tecnologia da Informação: Virtualização com VMware, Big Data com Hadoop, Certificação ITIL 2011 Foundations e muito mais.


Suporte o Tecnologia que Interessa!

Você acha que as informações compartilhadas aqui são úteis?
Então me ajude a produzir ainda mais e melhores conteúdos!


É muito fácil. Basta divulgar nossos treinamentos pra alguém que conheça!


E se for de Salvador, podemos estruturar um curso presencial para sua empresa!

Eu vou ficar muito grato (e quem fizer os curso também :)!