Preciso aprender o Hadoop para ser um cientista de dados?


38

Um aspirante a cientista de dados aqui. Não sei nada sobre o Hadoop, mas como tenho lido sobre Data Science e Big Data, vejo muita conversa sobre o Hadoop. É absolutamente necessário aprender o Hadoop para ser um cientista de dados?


1
Esta classe de perguntas está sendo discutida na meta. Você pode expressar sua opinião sobre este meta post.
asheeshr

Não é absolutamente necessário. É apenas uma das ferramentas. O que é necessário é um entendimento de estatística e álgebra linear. A escolha da ferramenta é secundária.
Victor

Veja este e-book gratuito e ele tenta responder à sua pergunta. oreilly.com/data/free/files/analyzing-the-analyzers.pdf
Espanta

Eu tenho uma pergunta semelhante no IBM Watson Analytics, o Bigquery do Google e outras análises baseadas em nuvem são essas tecnologias melhores que o Hadoop e o spark ..... Estou apenas começando a aprender o Hadoop e o spark e realmente preciso aprender o Hadoop e o spark para fazer análise de big data

Respostas:


47

Pessoas diferentes usam ferramentas diferentes para coisas diferentes. Termos como Data Science são genéricos por um motivo. Um cientista de dados poderia passar uma carreira inteira sem ter que aprender uma ferramenta específica como o hadoop. O Hadoop é amplamente usado, mas não é a única plataforma capaz de gerenciar e manipular dados, mesmo em larga escala.

Eu diria que um cientista de dados deve estar familiarizado com conceitos como MapReduce, sistemas distribuídos, sistemas de arquivos distribuídos e similares, mas eu não julgaria alguém por não saber sobre essas coisas.

É um grande campo. Existe um mar de conhecimentos e a maioria das pessoas é capaz de aprender e ser especialista em uma única gota. A chave para ser um cientista é ter o desejo de aprender e a motivação para saber o que você ainda não conhece.

Como exemplo: eu poderia entregar à pessoa certa cem arquivos CSV estruturados contendo informações sobre o desempenho da sala de aula em uma classe específica ao longo de uma década. Um cientista de dados seria capaz de passar um ano colhendo informações a partir dos dados sem precisar espalhar a computação em várias máquinas. Você pode aplicar algoritmos de aprendizado de máquina, analisá-lo usando visualizações, combiná-lo com dados externos sobre a região, composição étnica, mudanças no ambiente ao longo do tempo, informações políticas, padrões climáticos, etc. Tudo isso seria "ciência de dados", na minha opinião. . Pode ser necessário algo como hadoop para testar e aplicar qualquer coisa que você aprendeu aos dados, incluindo um país inteiro de estudantes, e não apenas uma sala de aula, mas essa etapa final não necessariamente torna alguém um cientista de dados.


10

Como ex-engenheiro do Hadoop, não é necessário, mas ajuda. O Hadoop é apenas um sistema - o sistema mais comum, baseado em Java, e um ecossistema de produtos, que aplica uma técnica específica "Map / Reduce" para obter resultados em tempo hábil. O Hadoop não é usado no Google, mas garanto que eles usam análise de big data. O Google usa seus próprios sistemas, desenvolvidos em C ++. De fato, o Hadoop foi criado como resultado do Google publicando seus white papers Map / Reduce e BigTable (HBase no Hadoop).

Os cientistas de dados farão interface com os engenheiros do hadoop, embora em locais menores você seja obrigado a usar os dois chapéus. Se você é estritamente um cientista de dados, o que quer que seja usado para suas análises, R, Excel, Tableau, etc., funcionará apenas em um pequeno subconjunto e precisará ser convertido para executar no conjunto de dados completo que envolve o hadoop.


8

Você deve primeiro deixar claro o que você quer dizer com "aprender Hadoop". Se você quer usar o Hadoop, como aprender a programar no MapReduce, provavelmente é uma boa idéia. Mas o conhecimento fundamental (banco de dados, aprendizado de máquina, estatística) pode desempenhar um papel maior à medida que o tempo passa.


Aparentemente, a maioria das pessoas está usando o Hadoop para análises. O que estou pensando é que preciso de algo assim ou conhecimento sobre banco de dados, ML, estatísticas é suficiente?
Pensu

5

Sim, você deve aprender uma plataforma capaz de dissecar seu problema como um problema paralelo de dados. Hadoop é um deles. Para suas necessidades simples (padrões de design como contagem, agregação, filtragem etc.), você precisa do Hadoop e, para coisas mais complexas de aprendizado de máquina, como fazer Bayesian, SVM, você precisa do Mahout, que por sua vez precisa do Hadoop (agora Apache Spark) para resolver seu problema usando uma abordagem paralela a dados.

Portanto, o Hadoop é uma boa plataforma para aprender e realmente importante para as suas necessidades de processamento em lote. Não apenas o Hadoop, mas você também precisa conhecer o Spark (o Mahout executa seus algoritmos utilizando o Spark) e o Twitter Storm (para suas necessidades de análise em tempo real). Esta lista continuará e evoluirá, portanto, se você for bom com os componentes básicos (computação distribuída, problemas com dados paralelos e assim por diante) e souber como uma dessas plataformas (por exemplo, Hadoop) opera, você estará rapidamente atualizado com as outras.


4

Depende fortemente do ambiente / empresa com a qual você está trabalhando. A meu ver, existe um hype de "big data" no momento e muitas empresas tentam entrar em campo com soluções baseadas no hadoop - o que faz do hadoop também um chavão, mas nem sempre é a melhor solução.

Na minha opinião, um bom cientista de dados deve ser capaz de fazer as perguntas certas e continuar perguntando novamente até que fique claro o que é realmente necessário. Do que um bom DataScientist - é claro - precisa saber como resolver o problema (ou pelo menos conhecer alguém que possa). Caso contrário, sua parte interessada poderá ficar frustrada :-)

Então, eu diria que não é absolutamente necessário aprender o Hadoop.



2

Você pode aplicar técnicas de ciência de dados aos dados em uma máquina, de modo que a resposta à pergunta conforme o OP o formulou é não.


1

A ciência de dados é um campo que exige uma variedade de habilidades. Ter conhecimento do Hadoop é um deles. As principais tarefas de um cientista de dados incluem:

  1. Coletando dados de diferentes recursos.
  2. Limpeza e pré-processamento dos dados.
  3. Estudando propriedades estatísticas dos dados.
  4. Usando técnicas de aprendizado de máquina para fazer previsões e obter informações dos dados.
  5. Comunicar os resultados aos tomadores de decisão de uma maneira fácil de entender.

Fora dos pontos acima, o conhecimento do Hadoop é útil para os pontos 1,2 e 3, mas você também precisa ter um forte background matemático / estatístico e um forte conhecimento de técnicas computacionais para trabalhar no campo da ciência de dados. Além disso, o Hadoop não é a única estrutura que está sendo usada na Data Science. O ecossistema do Big Data possui uma variedade de estruturas, cada uma específica para um caso de uso específico. Este artigo fornece material introdutório sobre as principais estruturas de Big Data que podem ser usadas na Data Science:

http://www.codophile.com/big-data-frameworks-every-programmer-should-know/


1

Eu acho que a estrutura do Lado Hadoop (caminho difícil) não é um requisito para ser um cientista de dados. O conhecimento geral em todas as plataformas de big data é essencial. Vou sugerir conhecer o conceito e apenas parte da necessidade do Hadoop é o MapReduce http://hadoop.apache.org/docs/current/hadoop-mapreduce-client/hadoop-mapreduce-client-core/MapReduceTutorial.html

Um cientista de dados não constrói cluster, administra ... é apenas fazer "mágica" com dados e não se importa de onde vem. O termo "Hadoop" passou a se referir não apenas aos módulos básicos acima, mas também ao "ecossistema" ou à coleção de pacotes de software adicionais que podem ser instalados no topo ou ao lado do Hadoop, como Apache Pig, Apache Hive, Apache HBase, Apache Spark e outros.

O mais importante é a linguagem de programação, matemática e estatística para trabalhar com dados (você precisará encontrar uma maneira de se conectar com os dados e seguir adiante). Eu gostaria de ter alguém para me indicar o conceito e não passar semanas aprendendo a estrutura e construindo nós e clusters do zero, porque essa parte é função de Administrador e não Engenheiro de Dados ou Cientista de Dados. Também uma coisa: todos estão mudando e evoluindo, mas matemática, programação, estatística ainda são os requisitos.

acessar dados de hdfs é essencial, por exemplo, PROC Hadoop, Hive, SparkContext ou qualquer outro driver ou canal (trate o hadoop como um ponto de acesso a dados ou armazenamento :)

já existem ferramentas ou estruturas que cuidam da alocação e gerenciamento de recursos, desempenho.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.