Skip to the content.

Ferramentas para Big Data

Por Alisson Neimaier e Taiane Schaedler Prass

Apache Hadoop

Hadoop Logo Haddop é uma plataforma de software em Java para computação distribuída e processamento de grandes massas de dados. O Hadoop não é uma ferramenta única, mas sim uma coleção de subprojetos relacionados para computação distribuída, todos eles hospedados pela Apache Software Foundation (http://hadoop.apache.org/), sendo que os mais conhecidos são o MapReduce e o sistema de arquivos distribuídos (HDFS).

É um sistema de armazenamento compartilhado para processamento de grandes volumes de dados através de clusters de computadores (escalabilidade horizontal). O ecossistema Hadoop é composto por 3 módulos principais:

MapReduce é um modelo de programação que permite o processamento de dados massivos em um algoritmo paralelo e distribuído que possui duas fases de processamento, Map e Reduce, ambas gerenciadas internamente pelo Hadoop sem intervenção do programador. O HDFS é um sistema de arquivos criado para armazenar arquivos muito grandes de forma distribuída, escalável e tolerante a falhas.

Além do MapReduce e do HDFS existem outros subprojetos do Hadoop que oferecem uma série de serviços complementares ou que adicionam abstrações de maior nível. Dentre eles destacam-se:

Algumas ferramentas complementares são: Sqoop, Oozie, Mahout, Flume, etc. Uma descrição dessas ferramentas pode ser encontrada em https://rogeraoaraujo.com.br/2020/11/12/big-data-ferramentas-e-tecnologias-parte-2/

Apache Spark

Originalmente, foi desenvolvido no laboratório AMPLab, da Universidade da Califórnia, Berkeley. Mais tarde seu código fonte foi doado para a Apache Software Foundation https://spark.apache.org/, que o mantém desde então. É uma ferramenta voltada para o processamento de grandes conjuntos de dados (larga escala) de forma paralela e distribuída. É possível fazer análise em bancos de dados “quase” instantaneamente (Stream Processing) ou em dados que já foram coletados a mais tempo (Batch Processing).

A forma como o Spark Streaming funciona é dividindo o streaming em lotes (chamados micro lotes) em um intervalo predefinido ($N$ segundos) e, em seguida, trata cada lote de dados como arquivos Resilient Distributed Datasets (RDDs). Sua base é o Hadoop HDFS, mas pode ser usado com Cassandra, HBase e MongoDB, também com as linguagens R, Python e Scala.

O Spark estende o modelo de programação MapReduce, chegando a ser 100x mais rápido em memória e 10x em disco. Uma das vantagens em relação ao Hadoop é que todos os componentes funcionam integrados na própria ferramenta. O Spark Core é o componente que disponibiliza as funções básicas para o processamento como as funções map, reduce, filter e collect. Dentre os demais componentes (cada um voltado para um tipo de processamento) destacam-se

Além disso, é possível desenvolver API’s (Interface de Programação de Aplicativos) em Java, Scala, Python e R.

Para mais detalhes veja, por exemplo, https://www.devmedia.com.br/introducao-ao-apache-spark/34178

Microsoft Azure HDInsight

Azure HDInsight (https://azure.microsoft.com/en-us/services/hdinsight/) é uma distribuição em nuvem de componentes do Hadoop. Disponibiliza diversas ferramentas para tornar o processamento de grandes volumes de dados mais fácil, rápido e econômico. Permite a utilização de estruturas de código aberto como Hadoop, Spark, Hive, LLAP, Kafka, Storm, R entre outras.

Nesse link você encontra uma lista das ferramentas/produtos disponibilizadas sem custo: Microsoft Azure

Outras Ferramentas

Machine Learning Libraries

Spark (MLib): https://spark.apache.org/docs/latest/ml-guide.html

Flink (FlinkML): https://ci.apache.org/projects/flink/flink-docs-release-1.12/

Samoa: Conjunto de algoritmos para data mining e machine learning em “tempo real”. É possível desenvolver outros algoritmos. Roda em Apache Storm, S4, Samza e Flink. https://samoa.incubator.apache.org/documentation/Home.html

Leituras Indicadas

Comparação MongoDB vs Hadoop: https://data-flair.training/blogs/hadoop-vs-mongodb/

Tabela comparativa dos Frameworks Apache (Hadoop, Spark, etc.): https://i2.wp.com/opensourceforu.com/wp-content/uploads/2018/03/Table-1-Comparison-of-teh-best-Big-Data-frameworks-2.jpg?ssl=1

Big Data Analytics Technologies and Platforms: a brief review: https://www.researchgate.net/publication/329239211_Big_Data_Analytics_Technologies_and_Platforms_a_brief_review

Referências

  1. 20 Best Data Analytics Software for 2020
    https://financesonline.com/data-analytics/

  2. 11 Best Big Data Analytics Tools in 2020
    https://www.guru99.com/big-data-analytics-tools.html

  3. Top 53 Bigdata Platforms and Bigdata Analytics Software
    https://www.predictiveanalyticstoday.com/bigdata-platforms-bigdata-analytics-software/

Voltar para a página principal https://tsprass.github.io/DataScienceTools/