A esta altura, você já deve saber que Big Data é o volume de dados além da capacidade tecnológica para armazenar, gerenciar e processar de modo eficiente, demandando soluções novas, mudanças de paradigma, abordagens e métodos para o desenvolvimento e implementação de tecnologias para análise de dados.

Atualmente as empresas têm acesso a muita informação, mas não conseguem extrair valor dos dados brutos, muitas vezes por estarem semi ou não estruturados, pois não há soluções adequadas para lidar com este tipo de dado. Muitas empresas sequer sabem se vale a pena manter, ou mesmo não possuem condições de manter os dados, até por não conhecerem todas as possibilidades dos serviços em nuvem e outras alternativas acessíveis para armazenamento e tratamento de dados.

Diante desse cenário, resolvi fazer esse levantamento de ferramentas que muita gente não conhece e que podem ser úteis pra você fazer a diferença.

Sim, você!

Já pensou na quantidade de dados que está lá, parada, escondida numa pasta no servidor de arquivos, numa tabela do banco de dados ou mesmo nas redes sociais apenas esperando que você vá lá e faça um uso delas que ninguém pensou antes, mas que faz toda a diferença pra sua empresa, seu trabalho e até mesmo sua vida?

Pois é!

Preparei essa lista de softwares pra que você possa ter uma noção do arsenal que está à sua disposição, seja qual for o seu perfil, desde programadores, analistas de negócio, estatísticos e até gestores.

Confira as opções abaixo depois me diga nos comentários qual ferramenta faz sentido pra você, combinado?

Vamos lá!

1 – Apache Hadoop

Não dá pra falar de Big Data sem citar o Hadoop, a primeira solução de uso amplo voltada pra análise de grandes volumes de dados. Na minha opinião, a maior contribuição do Hadoop nem é a questão do cluster, processamento distribuído, mas sim a mudança de paradigma que o Map Reduce proporcionou, reduzindo drasticamente a complexidade de desenvolver um sistema distribuído, e o melhor, seguindo uma lógica simples, que pode até ser comparada por analogia a operações de uso comum em linguagem SQL, como select e group by. Por tudo isso, o Hadoop é item obrigatório no arsenal de conhecimentos de um cientista de dados, e uma das soluções mais usadas do mundo até hoje, embora já tenham anunciado sua “morte” algumas vezes.

Mais informações sobre download, instalação e uso aqui.

2 – Spark

O Spark nasceu de uma sacada inteligente pra resolver uma limitação do Hadoop. Por que não trabalhar os dados em memória ao invés de disco? Com isso, o Spark chegou a ser considerado um Hadoop-Killer, mas hoje está claro que a integração dos dois pode fazer sentido em muitos cenários, até porque não faria sentido reinventar a roda e criar um novo sistema de arquivos distribuído, quando o HDFS, maduro e robusto, pode atender as mais diversas situações.

O Spark lida com o gerenciamento de tarefas distribuídas, gerenciamento de memória, recuperação de falhas e todo tipo de desafio que um sistema distribuído está sujeito, incluindo a distribuição dos dados através dos Resilient Distributed Datasets (RDD), uma coleção de itens distribuídos que podem ser manipulados em paralelo (somente leitura).

O Spark suporta várias integrações com outras ferramentas e linguagens, sendo comumente usado através do Python Shell (PySpark Shell).

3 – Distribuições Hadoop/Spark

Uma distribuição Hadoop/Spark é mais que uma ferramenta, mas uma suite de soluções, integradas e mantidas por uma empresa ou comunidade que garante a compatibilidade entre as versões dos seus vários componentes, atualizações e suporte em caso de dúvidas e dificuldades.

É importante conhecer este tipo de solução, especialmente para empresas de maior porte, cujo volume de dados a ser analisado demanda uma solução mais robusta, versátil e escalável. Por isso listo a seguir algumas das principais distribuições disponíveis para uso gratuito ou avaliação e testes, seja dentro da empresa ou através da nuvem.

3.1 Cloudera – tem versão gratuita chamada Cloudera Quickstart, que vem no formato de máquina virtual, em que você pode testar as ferramentas integradas, incluindo Hadoop, Spark, Hive, Pig, Hue, HBase, Impala e outras. Os requisitos para executar a VM são pelo menos 8GB de RAM e 2 processadores virtuais. Mais informações sobre download, instalação e uso aqui.

3.2 Hortonworks – era uma alternativa de distribuição, semelhante à Cloudera, mas as duas empresas se fundiram recentemente (janeiro de 2019).

3.3 Amazon EMR – O Amazon Elastic Map Reduce é o serviço de big data da nuvem da empresa do Jeff Bezos, que permite processar grandes quantidades de dados com rapidez, de forma econômica e em grande escala. Tem suporte ao Spark, Hive, HBase, Flink e Presto, além dos serviços de instâncias computacionais Amazon EC2, armazenamento S3, e suporte a notebooks baseados em Jupyter para permitir o desenvolvimento iterativo, a colaboração e o acesso a dados. Mais informações sobre download, instalação e uso aqui.

3.4 Microsoft Azure HDInsight – o serviço de big data da nuvem da Microsoft suporta Hadoop, Spark, HBase, Hive, Kafka, Storm e muito mais, fornecendo uma maneira rápida pra provisionar um cluster para processamento de grandes volumes de dados sem a complexidade envolvida na implantação de um ambiente desses dentro da empresa. A Microsoft tem um apelo muito grande não apenas para quem já é cliente das suas soluções, pela integração com Office e Power BI, por exemplo, mas também pela facilidade que oferece na utilização de suas ferramentas, como o Microsoft Machine Learning Studio. Mais informações sobre download, instalação e uso aqui.

3.5 IBM Watson – A IBM possui parceria com a Cloudera e pode oferecer uma distribuição Hadoop naquele modelo, porém o foco da empresa é mesmo os serviços do Watson, a sua plataforma de computação cognitiva, que inclui os mais diversos serviços de análise de dados nos mais diversos formatos, incluindo tratamento de áudio, reconhecimento de imagens e linguagem natural, dentre outras funcionalidades. Mais informações sobre download, instalação e uso aqui.

 

Saiba mais...  [Infográfico] Cientista de Dados em 8 Passos!

4 – Knime

O KNIME (Konstanz Information Miner) é uma plataforma gratuita de análise de dados, relatórios e integração de dados. O KNIME integra vários componentes para aprendizado de máquina e mineração de dados através de seu conceito modular de pipelining de dados.

O KNIME é uma ferramenta muito versátil, que traz mais de 1000 módulos, com recursos para tratar, analisar e aplicar várias técnicas e algoritmos aos dados, de forma que você pode usá-lo no Linux, MacOS e Microsoft Windows para as mais diversas tarefas.

Mais informações sobre download, instalação e uso aqui.

5 – Neuroph

Neuroph é uma aplicação voltada para a criação de redes neurais artificiais, orientada a objetos e escrita em Java. Pode ser usada para criar e treinar redes neurais, e fornece bibliotecas Java, além de uma versão instalável que permite analisar dados texto, imagem e outros utilizando algoritmos de Inteligência Artificial baseados em redes neurais, como Adaline e Multilayer Perceptron, dentre outras.

Você encontra uma lista de projetos interessantíssimos feitos usando o Neuroph aqui.

6 – RapidMiner

RapidMiner é uma plataforma de software de ciência de dados desenvolvida pela empresa de mesmo nome que fornece um ambiente integrado para preparação de dados, aprendizado de máquina, aprendizado profundo, mineração de texto e análise preditiva.

É frequentemente citado em pesquisas sobre soluções utilizadas para análise de dados, e você encontra mais detalhes sobre a solução aqui, incluindo guias para começar a usar e tutoriais com exemplos.

7 – WEKA

O pacote de software Weka começou a ser escrito em 1993, usando Java, na Universidade de Waikato, Nova Zelândia sendo adquirido posteriormente por uma empresa no final de 2006. O Weka é um software livre largamente utilizado para mineração de dados, e oferece uma lista ampla de algoritmos para análise de dados, podendo ser instalado em qualquer computador com Windows ou Linux. Mais informações sobre o projeto aqui.

8 – Auto-WEKA

Auto-WEKA é uma iniciativa da Universidade British Columbia, que visa otimizar os chamados hiperparâmetros de modelos de Machine Learning, usando a ferramenta WEKA, de forma automática, buscando facilitar a escolha e aplicação do melhor modelo para a solução de um problema de análise de dados. Mais informações aqui.

9 – MLJAR

MLJAR é um projeto que promete automatizar (ao menos em parte) o processo de aplicar um algoritmo de Machine Learning a um conjunto de dados. A princípio, bastaria fazer o upload dos dados para a plataforma na nuvem, selecionar os campos a serem utilizados pelo algoritmo e, com um clique, executar o modelo. A solução tem uma versão gratuita que permite enviar até 250MB de dados para análise. Mais informações aqui

10 – OpenRefine (Google Refine)

Este projeto da Google é um pouco diferente, no sentido de que ele foca no tratamento de dados mais que na sua análise. Intitulada como “uma ferramenta livre, de código aberto, e poderosa para tratar dados bagunçados/sujos”, a solução pode ser instalada na sua máquina, e permite organizar, transformar e extender os dados a partir de fontes externas como web services, além de possuir uma vasta lista de plugins e integrações. Mais informações aqui.

 

Saiba mais...  Recursos do Yahoo Mail

11 – Orange

Uma ferramenta de código aberto, para novatos e experts, com recursos de Machine Learning, visualização de dados e workflow interativo. Esta é a Orange, uma ferramenta poderosa, como demonstra a seção de screenshots do site, que vai de aplicação de modelos de Deep Learning para reconhecimento de imagens a modelagem de tópicos a partir de tuites. Confira todo o poder dessa ferramenta aqui e, se gostar, instale hoje mesmo e comece a brincar.

12 – Gephi

Gephi é uma ferramenta especializada em grafos, com recursos de visualização e exploração para todo tipo de redes de conexões que possa imaginar. Este tipo de ferramenta vem crescendo muito nos últimos anos pela necessidade de analisar relações entre pessoas, objetos, informações, instituições e muito mais, sendo bastante utilizada em investigações e mapeamento de relações entre pessoas nas redes sociais. Mais informações aqui.

13 – OctoParse

Web Scraping ou Raspagem de Dados é a técnica que permite extrair da web, sejam sites de notícias, portais, blogs ou redes sociais, informações diversas que estão “soltas” e organizá-las em planilhas e outros formatos. OctoParse é uma ferramenta que promete facilitar este processo para não programadores, com poucos cliques.

A rigor, já encontramos hoje recursos que facilitam bastante as tarefas de raspagem de dados, em ferramentas como Power BI, Qlikview e similares, uma vez que os dados não estruturados são a maior parte na web, não poderiam ser ignorados.

Ainda assim, uma solução especializada e que conta com versão gratuita, tem seu valor. Confira tudo sobre a OctoParse aqui.

14 – R/RStudio

A linguagem R é certamente um dos itens obrigatórios na caixa de ferramentas do cientista de dados. Não apenas por ser uma linguagem nativamente orientada a dados (o que me fez ficar fã da linguagem!), mas também por contar com uma vasta biblioteca de recursos para todo tipo de necessidade, seja fazer web scraping de uma página ou rede social, seja criar um robô pra fazer análise de dados financeiros da bolsa de valores e até criptomoedas e Bitcoin, pra ficar somente em dois exemplos que estou envolvido.

Uma linguagem de programação não é o caminho mais fácil para não programadores, certamente. Por outro lado, oferece uma infinidade de possibilidades, inigualável por qualquer outra ferramenta. Afinal, com uma linguagem de programação, tudo é possível, e ainda que não exista biblioteca pronta para sua necessidade, você pode criar uma.

Além disso, as linguagens atuais fornecem tantos recursos facilitadores, que costumo repetir o que li há algum tempo num site especializado: construir software hoje é mais sobre encontrar e combinar os componentes certos que resolvem o problema, do que escrever código (não eram exatamente essas as palavras, mas a ideia é a mesma).

15 – Python & Jupyter Notebook

Se o R pode ser considerada mais que uma linguagem de programação, e há quem chame de plataforma, o que dizer do Python, que cresce de forma tão impressionante que já está se tornando a solução padrão para diversos casos de uso, em especial na área de Machine Learning e Deep Learning.

Jupyter Notebook é um ambiente de desenvolvimento web que agrega, além da interatividade e facilidade típicas de um ambiente de navegador, a ideia de notebook, uma tendência que favorece a chamada reprodutibilidade da análise de dados. Ou seja, ao combinar código e texto no mesmo projeto, é mais fácil documentar os detalhes de forma a simplificar o processo de repetição da análise, seja para melhorá-la ou validar os resultados obtidos.

A combinação do Jupyter com o Python é muito comum e há soluções como Anaconda que trazem várias bibliotecas e recursos embutidos visando facilitar ainda mais o desenvolvimento de análises de dados.

16 – Pig

Apache Pig é uma plataforma de alto nível para criar programas que são executados no Apache Hadoop. A linguagem para esta plataforma é chamada Pig Latin. O Pig pode executar suas tarefas do Hadoop no MapReduce, Apache Tez ou Apache Spark.

Importante mencionar que o código escrito em Pig Latin é “convertido” para jobs Map Reduce. Isso significa que o Pig é uma abstração que permite criar soluções em linguagem mais simples, que será interpretada e transformada em tarefas apropriadas para execução distribuída.

Você encontra um excelente tutorial com exemplos dos recursos do Pig aqui.

17 – Hive

Apache Hive é um projeto de software de data warehouse construído sobre o Apache Hadoop para fornecer consulta e análise de dados. O Hive fornece uma interface semelhante a SQL para consultar dados armazenados em vários bancos de dados e sistemas de arquivos que se integram ao Hadoop.

Seguindo a mesma linha do Apache Pig, o Hive permite simplificar a execução de tarefas no de processamento de dados no Hadoop com uma linguagem SQL-like, uma abordagem comumente denominada pelo mercado de “SQL-on-Hadoop”, que é interpretada e transformada em jobs Map Reduce para execução no Hadoop.

Mais detalhes sobre o projeto, documentação e uso aqui.

18 – Sqoop

Sqoop é um aplicativo de interface de linha de comandos para transferir dados entre bancos de dados relacionais e o Hadoop. Uma ferramenta simples porém essencial pra quem precisa levar os dados do ambiente legado de banco de dados para a plataforma Hadoop, usando o HDFS para armazenamento desses dados visando a construção de um Data Lake que permita ampliar as possibilidades de análise de dados da organização.

19 – Flume

Apache Flume é um software distribuído, confiável e disponível para coletar, agregar e mover com eficiência grandes quantidades de dados de log. Tem uma arquitetura simples e flexível baseada em dados de fluxo contínuo.

Tive a oportunidade de orientar um aluno num trabalho de coleta de dados do Twitter usando a distribuição da Cloudera, sendo o Flume usado para coletar e armazenar os dados no HDFS do Hadoop, e o Solr usado para indexar e consultar as informações posteriormente visando analisar o conteúdo compartilhado na rede social durante o período da coleta, que se deu próximo às eleições de 2014.

 

Saiba mais...  Antivírus gratuitos e confiáveis

20 – Opinion Crawl

Mais um serviço que uma ferramenta, Opinion Crawl permite obter a análise de sentimento em tempo real para vários tópicos, desde economia a Charlie Sheen :). Confira o serviço aqui.

Conclusão

E então?

O que achou da listinha de ferramentas?

Qual a sua preferida?

Sentiu falta de alguma solução?

Comenta aí!