Spark é um poderoso mecanismo de processamento de código aberto construído em torno de velocidade, facilidade de utilização, e análises sofisticadas. Ela foi originalmente desenvolvida na Universidade de Berkeley em 2009. O framework Spark é 100% open source, hospedado no Apache Software Foundation independente de fornecedor.

Potências da Internet como Netflix, Yahoo e eBay o implementaram em escala maciça, processar coletivamente múltiplos petabytes de dados em clusters de mais de 8.000 nós. Ele rapidamente se tornou a maior comunidade open source em dados grandes, com mais de 1000 colaboradores de mais de 250 organizações.

O projeto veio para resolver problemas de performance e processamento paralelo, criando assim um poderoso ambiente de execução em memória nunca visto anteriormente. Rapidamente adotado, se transformou em base para diversas aplicações como : BigData, Machine Learning, Streaming de Dados, SQL, além de processamento de Grafos entre outras

Juntamente com a comunidade, a Databricks continua a contribuir fortemente para o projeto Apache, tanto através do desenvolvimento e evangelismo comunidade.

“No Databricks, estamos trabalhando duro para fazer Spark mais fácil de usar e executar do que nunca, através de nossos esforços, tanto a base de código de ignição e materiais de apoio em torno dele. Todo o nosso trabalho é open source e vai diretamente para Apache “.

– Matei Zaharia, VP, Spark,
fundador e CTO, Databricks

Quais são os benefícios do Spark?

VELOCIDADE

Projetado a partir do bottom-up para o desempenho, ele pode ser 100x mais rápido do que o Hadoop para o processamento de dados em grande escala, explorando em computação memória e outras otimizações. Ele também é rápido quando os dados são armazenados no disco e atualmente detém o recorde mundial de grande escala de classificação no disco. A distribuição dos dados em memória e seu processamento paralelo tornam o framework muito performático para qualquer tipo de processamento.

FÁCIL DE USAR

O Projeto tem APIs fáceis de usar para operar em grandes conjuntos de dados. Isso inclui uma coleção de mais de 100 operadores para transformar APIs de dados e estrutura de dados familiar para manipulação de dados semi-estruturados. A possibilidade de integra-lo com diversas bibliotecas e linguaguens facilitam muito o dia a dia do desenvolvedor que pode utilizar linguagens como : Python, Scala, Java ou R.

A Opção de usar o SQL também torna muito mais fácil a programação das consultas e extrações de dados, visto que o SQL  é a linguagem de consulta de dados mais comum em tecnologia, o Spark SQL abstrai a complexidade do bigdata tornando a consulta de dados de volumes gigantescos tão simples quanto escrever um SELECT para buscar dados de uma tabela de banco de dados relacionais e mais simples como MySql ou PostgreSql

AMPLA BIBLIOTECA

O Spark vem embalado com bibliotecas de nível superior, incluindo suporte para consultas SQL, streaming de dados, aprendizado de máquina e processamento gráfico. Essas bibliotecas padrão aumentar a produtividade do desenvolvedor e pode ser perfeitamente combinados para criar fluxos de trabalho complexos.

Baixe O SPARK

O projeto é Open Source, 100% gratuito. Você pode baixar através do site que também contém instruções de instalação, tutoriais em vídeo e documentação para você começar.

Spark Core

Consideramos Core a parte fundamental do software onde rodam os RDDs ( Resilient Distributed Datasets ) que são a parte fundamental da tecnologia de processamento distribuído, abaixo os módulos que rodam sobre o Core

Spark ou Hadoop

Talvez seja comum encontrar na internet essa comparação entre Spark ou Hadoop, qual usar ?

Não faz sentido comparar as 2 tecnologias, Hadoop é um framework de Armazenamento Distribuído baseado em HDFS ( Hadoop Distributed File System ) e Spark é um framework de processamento em Memória.

No Hadoop o processamento principal é feito pelo Map Reduce, que foi modernizado com a chegada do YARN no Hadoop 2, mas de qualquer maneira o Hadoop também pode usar Spark como processador de seus dados, substituindo em boa parte das funções o Map Reduce.

Então, na dúvida entre qual usar, use sempre os dois !

VEJA MAIS SOBRE HADOOP – https://www.cetax.com.br/apache-hadoop/