Dois-je apprendre Hadoop pour devenir un Data Scientist?

38

Un scientifique de données en herbe ici. Je ne connais rien à Hadoop, mais comme je lisais des articles sur Data Science et Big Data, je vois beaucoup de discussions sur Hadoop. Est-il absolument nécessaire d'apprendre Hadoop pour être un scientifique de données?

Pensu
la source
1
Cette classe de questions est en cours de discussion sur la méta. Vous pouvez exprimer votre opinion sur ce méta post.
Asheeshr
Ce n'est pas absolument nécessaire. Ce n'est qu'un des outils. Ce qui est nécessaire est une compréhension des statistiques et de l’algèbre linéaire. Le choix de l'outil est secondaire.
Victor
Regardez ce livre électronique gratuit et il essaie de répondre à votre question. oreilly.com/data/free/files/analyzing-the-analyzers.pdf
Espanta
J'ai une question similaire sur IBM Watson Analytics, Bigquery de Google et d'autres solutions d'analyse basées sur le cloud: ces technologies sont-elles meilleures que Hadoop et spark ..... analyse de données

Réponses:

47

Différentes personnes utilisent différents outils pour différentes choses. Les termes tels que Data Science sont génériques pour une raison. Un informaticien peut passer toute une carrière sans avoir à apprendre un outil particulier comme hadoop. Hadoop est largement utilisé, mais ce n'est pas la seule plate-forme capable de gérer et de manipuler des données, même à grande échelle.

Je dirais qu'un spécialiste en informatique devrait être familiarisé avec des concepts tels que MapReduce, les systèmes distribués, les systèmes de fichiers distribués, etc., mais je ne jugerais pas quelqu'un de ne pas savoir de telles choses.

C'est un grand terrain. Il y a une mer de connaissances et la plupart des gens sont capables d'apprendre et d'être un expert en une seule goutte. La clé pour être scientifique consiste à avoir le désir d'apprendre et la motivation de savoir ce que vous ne connaissez pas déjà.

A titre d'exemple: je pourrais remettre à la bonne personne cent fichiers CSV structurés contenant des informations sur les performances en classe d'une classe sur une décennie. Un scientifique des données serait en mesure de passer une année à recueillir des informations à partir des données sans avoir besoin de répartir les calculs sur plusieurs machines. Vous pouvez appliquer des algorithmes d'apprentissage automatique, les analyser à l'aide de visualisations, les combiner avec des données externes sur la région, la composition ethnique, l'évolution de l'environnement au fil du temps, des informations politiques, les conditions météorologiques, etc. Tout cela constituerait à mon avis une "science des données". . Il faudrait peut-être quelque chose comme hadoop pour tester et appliquer tout ce que vous avez appris à des données comprenant un pays entier d'étudiants plutôt qu'à une salle de classe, mais cette dernière étape ne fait pas nécessairement de quelqu'un un informaticien.

Steve Kallestad
la source
10

En tant qu'ancien ingénieur chez Hadoop, ce n'est pas nécessaire, mais ça aide. Hadoop n'est qu'un système - le système le plus courant, basé sur Java, et un écosystème de produits, qui appliquent une technique particulière "Carte / Réduire" pour obtenir des résultats en temps voulu. Hadoop n'est pas utilisé chez Google, bien que je vous assure qu'il utilise l'analyse de données volumineuses. Google utilise ses propres systèmes, développés en C ++. En fait, Hadoop a été créé à la suite de la publication par Google de leurs livres blancs Map / Reduce et BigTable (HBase in Hadoop).

Les scientifiques de données s’interfaceront avec les ingénieurs de hadoop, bien que dans les endroits plus restreints, vous devrez peut-être porter les deux chapeaux. Si vous êtes strictement scientifique en données, tout ce que vous utiliserez pour vos analyses, R, Excel, Tableau, etc., ne fonctionnera que sur un petit sous-ensemble, puis devra être converti pour être exécuté sur l'ensemble des données impliquant hadoop.

utilisateur9170
la source
8

Vous devez d'abord préciser ce que vous entendez par "apprendre Hadoop". Si vous voulez parler de Hadoop, comme apprendre à programmer dans MapReduce, c'est probablement une bonne idée. Mais les connaissances fondamentales (base de données, apprentissage automatique, statistiques) peuvent jouer un rôle plus important au fil du temps.

lgylym
la source
Apparemment, la plupart des gens utilisent Hadoop pour les analyses. Ce que je pense, c'est est-ce que j'ai besoin de quelque chose comme ça ou de connaissances en base de données, ML, les statistiques suffisent?
Pensu
5

Oui, vous devriez apprendre une plate-forme capable de disséquer votre problème en tant que problème parallèle aux données. Hadoop en est un. Pour vos besoins simples (modèles de conception tels que comptage, agrégation, filtrage, etc.), vous avez besoin de Hadoop et pour des tâches plus complexes d’apprentissage automatique telles que faire du Bayesian, SVM, vous avez besoin de Mahout, qui à son tour a besoin de Hadoop (maintenant Apache Spark) pour résoudre votre problème. une approche parallèle des données.

Donc, Hadoop est une bonne plate-forme pour apprendre et vraiment important pour vos besoins de traitement par lots. Non seulement Hadoop, mais vous devez également connaître Spark (Mahout utilise ses algorithmes utilisant Spark) et Twitter Storm (pour vos besoins d'analyse en temps réel). Cette liste continuera et évoluera. Par conséquent, si vous maîtrisez les éléments de base (calcul distribué, problèmes parallèles de données, etc.) et savez comment fonctionne une telle plate-forme (disons Hadoop), vous serez assez rapidement au courant des autres.

Yavar
la source
4

Cela dépend fortement de l'environnement / de la société avec laquelle vous travaillez. À mes yeux, il existe actuellement un battage publicitaire en faveur des "données volumineuses" et de nombreuses entreprises tentent de pénétrer le marché avec des solutions hadoop - ce qui fait de hadoop un mot à la mode, mais ce n’est pas toujours la meilleure solution.

Dans mon esprit, un bon scientifique de données devrait pouvoir poser les bonnes questions et continuer à le poser jusqu'à ce qu'il soit clair ce qui est vraiment nécessaire. Bien sûr, un bon DataScientist - bien sûr - a besoin de savoir comment résoudre le problème (ou au moins connaître quelqu'un qui le peut). Sinon, votre intervenant pourrait être frustré :-)

Donc, je dirais que ce n'est pas absolument nécessaire d'apprendre Hadoop.

PlagTag
la source
2

Vous pouvez appliquer des techniques de science des données à des données sur une machine, de sorte que la réponse à la question telle que l'OP l'a exprimée est non.

Ihe Onwuka
la source
1

La science des données est un domaine exigeant une variété de compétences. Avoir connaissance de Hadoop est l'un d'entre eux. Les tâches principales d'un scientifique de données comprennent:

  1. Rassembler des données de différentes ressources.
  2. Nettoyage et pré-traitement des données.
  3. Étudier les propriétés statistiques des données.
  4. Utilisation de techniques d'apprentissage automatique pour effectuer des prévisions et extraire des informations à partir des données.
  5. Communiquer les résultats aux décideurs de manière simple à comprendre.

Parmi les points ci-dessus, la connaissance de Hadoop est utile pour les points 1, 2 et 3, mais vous devez également posséder de solides connaissances en mathématique / statistique et une connaissance approfondie des techniques informatiques pour pouvoir travailler dans le domaine de la science des données. De plus, Hadoop n'est pas le seul framework utilisé dans Data Science. L’écosystème du Big Data comprend une gamme de cadres, chacun spécifique à un cas d’utilisation particulier. Cet article présente des informations préliminaires sur les principaux frameworks Big Data pouvant être utilisés dans Data Science:

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

Rajeev Singh
la source
1

Je pense vraiment que le cadre Hadoop penchant (méthode éprouvée) n’est pas une exigence pour être un scientifique de données. Des connaissances générales sur toutes les plateformes Big Data sont essentielles. Je suggérerai de connaître le concept à ce sujet et Hadoop n'a besoin que de MapReduce http://hadoop.apache.org/docs/current/hadoop-mapreduce-client/hadoop-mapreduce-client-core/MapReduceTutorial.html

Un scientifique de données ne construit pas de cluster, administre ... c'est juste faire de la "magie" avec des données et ne se soucie pas d'où vient. Le terme "Hadoop" en est venu à désigner non seulement les modules de base ci-dessus, mais également "l'écosystème" ou un ensemble de progiciels supplémentaires pouvant être installés au-dessus ou à côté de Hadoop, tels qu'Apache Pig, Apache Hive, Apache HBase, Apache Spark et d’autres.

Le plus important est le langage de programmation, les mathématiques et les statistiques pour travailler avec les données (vous devrez trouver un moyen de vous connecter aux données et d'aller de l'avant). J'aimerais que quelqu'un me pointe vers le concept et ne passe pas des semaines à apprendre le framework et crée à partir de zéro des nœuds et des clusters, car cette partie relève du rôle d'administrateur et non de Data Engineer ou de Data Scientist. Autre chose: tous changent et évoluent, mais les mathématiques, la programmation et les statistiques restent des exigences.

L'accès aux données à partir de fichiers hdfs est essentiel, par exemple PROC Hadoop, Hive, SparkContext ou tout autre pilote ou canal (traitez hadoop comme un point d'accès aux données ou au stockage :)

sont déjà en place des outils ou des cadres qui prennent en charge l'allocation des ressources et la gestion, la performance.

n1tk
la source