5 Tecnologias Que Todo Cientista de Dados Tem Que Conhecer

Conhecimentos necessários para uma carreira de sucesso em Big Data
Você já sabe que o cientista (maluco) de dados é um misto de estatístico, matemático, analista de TI e de negócios. Se não sabia, aprenda aqui.

O que a maioria das pessoas não sabe é que se, por um lado, é preciso estudar muito, por outro, quanto mais você estuda mais percebe que não é tão complicado (nem glamoroso :) quanto parecia à primeira vista.

Embora a fama de "Profissão Mais Sexy do Século XXI" já tenha pegado, a verdade é que muito do trabalho do cientista de dados envolve "arrumar a bagunça" de conjuntos de dados que não estão adequados para uma análise que possa levar a resultados úteis. Essa é a parte mais difícil (e chata!): identificar e tratar os inúmeros problemas que os dados invariavelmente apresentam antes que seja possível fazer algo útil com eles.

Superada essa fase, o resto é bem mais tranquilo, embora não possa dizer que a coisa fica fácil.

E essa facilidade é resultado justamente da quantidade enorme de ferramentas que temos à disposição para ajudar a resolver todo tipo de problema das mais variadas maneiras.

Por isso resolvi selecionar 6 dessas ferramentas pra apresentar pra você hoje.

Vamos lá?

Linguagem R

Eu não tinha a menor ideia do que era possível fazer com a linguagem R até começar a aprofundar meus estudos em Big Data e Ciência de Dados a partir de 2013.

E desde então virei fanboy da linguagem.

Sempre leio que a linguagem R tem uma curva de aprendizado longa, mas na verdade não consigo aceitar isso como verdade, pois a realidade é que a maior parte das linguagens guarda muitas semelhanças entre si e, vamos falar a verdade, a parte mais difícil é dominar os pacotes e bibliotecas que fazem a mágica acontecer.

De visualizar a correlação entre duas variáveis num gráfico de dispersão a "fatiar" um conjunto de dados com milhões de registros com uma única linha de código, há pacotes prontos pra tudo em R, assim como há bibliotecas prontas pra tudo em Java, Python e outras linguagens. Há pacotes/bibliotecas mais maduros, outros nem tanto, mas dá pra fazer um MVP (Minimum Viable Product) em tempo razoável.

Ultimamente tenho pesquisado bastante sobre criptomoedas pois, além de investir, estou desenvolvendo uma ferramenta para facilitar a análise delas para investidores (para mais informações deixe seu comentário), e bastaram algumas horas pra encontrar várias APIs com exemplos de código em R que me permitiram criar uma primeira versão, tosca, da ferramenta, que agora estou "azeitando" pra colocar no ar em breve.

Por isso, mesmo que você não seja um desenvolvedor experiente, recomendo que estude a linguagem R, pois é uma excelente ferramenta para análise de dados, que conta com uma infinidade de facilitadores para resolver todo tipo de problema que possa imaginar.


Hadoop


O Hadoop é muito provavelmente a ferramenta mais conhecida quando se trata de Big Data. A solução inclui um sistema de arquivos distribuído, o HDFS, e um modelo de execução de processamento distribuído, Map Reduce, que simplifica o desenvolvimento de aplicações para análise de grandes volumes de dados em clusters distribuídos com até milhares de nós.

Ainda que possa haver discussão sobre a relevância do Hadoop no momento atual, em razão do desenvolvimento de outras soluções com desempenho muito superior para alguns casos de uso, é inegável que o conhecimento deste modelo de processamento distribuído ainda é muito relevante.

Isto porque a lógica do Hadoop, que leva a execução da aplicação para o local onde se encontra o dado, de maneira simples para o desenvolvedor, e eficiente para o resultado final desejado, foi copiado exaustivamente pelas inúmeras soluções que vieram depois, cujos méritos estão em identificar possibilidades de inovação e otimização, como a utilização de dados em memória pelo Spark.

Hive


Assim como o Hadoop, o Hive é "macaco velho" quando se trata de Big Data.

A solução de Dataware House para grandes conjuntos de dados permite, através da linguagem HQL, aproveitar seus conhecimentos do tradicional SQL para escrever scripts que serão convertidos em jobs Map Reduce e executados de maneira distribuída.

Utilizando uma distribuição na nuvem da Amazon ou baixando uma máquina virtual da Cloudera ou Hortonworks, é possível apreciar todo o poder e simplicidade do Hive para manusear conjuntos de dados de tamanho considerável, com uma curva de aprendizado simplificada.


APIs


Há vários anos li um artigo que dizia que "o software vai engolir o mundo", e a tecnologia responsável por isso atende pelo nome de Application Program Interface.

Hoje praticamente não se cria nada, apenas se combinam APIs de diversos fornecedores para construir algo diferente. Posso estar exagerando, mas o exemplo que citei acima da ferramenta para análise de criptomoedas me ensinou isso.

Em poucas horas pude encontrar APIs de cotação, histórico de ordens de compra e venda de criptomoedas, estatísticas de mercado e muito mais, de forma que meu trabalho (não que seja simples ou fácil) se resume a combinar todas essas APIs e gerar algum resultado útil a partir daí.

Por isso, recomendo que, antes de se aventurar criando qualquer coisa, verifique se não existe uma API que já faz o que você pretendia fazer ou, pelo menos, faz algo que te ajuda na obtenção do resultado que deseja. Aposto que você vai se surpreender com a quantidade e qualidade de APIs disponíveis.

Em especial, recomendo que pesquise sobre as APIs gratuitas disponíveis para Big Data. A IBM, por exemplo, disponibiliza uma quota de uso das APIs do Watson gratuitamente. Tem muita coisa interessante!

Cloud

Por último, mas não menos importante, não há como falar de tecnologias para Big Data sem falar de nuvem, afinal é a infraestrutura de nuvem que possibilita a criação de clusters gigantescos para lidar com os volumes absurdos de dados de serviços como Facebook, Linkedin, Twitter e muitos outros.

Sendo assim, é importante que conheça as plataformas, os modelos de serviço (SaaS, PaaS, IaaS) que cada provedor oferece, e, em especial, os serviços específicos para Big Data e Ciência de Dados que estão disponíveis.

A quantidade de fornecedores de soluções em nuvem só aumenta, principalmente no segmento para análise de grandes volumes de dados, de forma que conhecer os fornecedores e seus serviços pode até mesmo representar a diferença entre fracasso e sucesso de um projeto de Big Data.

Conclusão

Esta lista de tecnologias que o Cientista de Dados deve conhecer não tem o objetivo de ser exaustiva, mas sim de orientar, definindo uma direção a seguir no estudo das tecnologias que possibilitam as maravilhas da análise de dados em grande escala e volume.

O conhecimento destas tecnologias de maneira mais aprofundada é o diferencial que vai permitir a você se posicionar como um Cientista de Dados capaz de entregar os resultados que a empresa (e o mundo!) necessita.

Tem uma crítica, dúvida, sugestão? Deixe seu eomentário agora mesmo e vamos conversar!






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 :)!