Muss ich Hadoop lernen, um ein Data Scientist zu sein?

38

Ein aufstrebender Datenwissenschaftler hier. Ich weiß nichts über Hadoop, aber da ich über Data Science und Big Data gelesen habe, sehe ich viele Gespräche über Hadoop. Ist es absolut notwendig, Hadoop zu lernen, um ein Data Scientist zu sein?

Pensu
quelle
1
Diese Klasse von Fragen wird auf Meta diskutiert. Sie können Ihre Meinung zu diesem Meta-Post
Asheeshr
Es ist nicht unbedingt notwendig. Es ist nur eines der Werkzeuge. Notwendig ist ein Verständnis von Statistik und linearer Algebra. Die Wahl des Werkzeugs ist zweitrangig.
Victor
Schauen Sie sich dieses kostenlose E-Book an und es versucht, Ihre Frage zu beantworten. oreilly.com/data/free/files/analyzing-the-analyzers.pdf
Espanta
Ich habe eine ähnliche Frage zu IBM Watson Analytics, Googles Bigquery und anderen Cloud-basierten Analysen. Diese Technologien sind besser als Hadoop und Spark Big Data Analytics

Antworten:

47

Verschiedene Leute benutzen verschiedene Werkzeuge für verschiedene Dinge. Begriffe wie Data Science sind aus einem bestimmten Grund generisch. Ein Datenwissenschaftler könnte eine ganze Karriere verbringen, ohne ein bestimmtes Tool wie Hadoop erlernen zu müssen. Hadoop ist weit verbreitet, aber es ist nicht die einzige Plattform, die Daten verwalten und manipulieren kann, auch große Datenmengen.

Ich würde sagen, dass ein Datenwissenschaftler mit Konzepten wie MapReduce, verteilten Systemen, verteilten Dateisystemen und dergleichen vertraut sein sollte, aber ich würde niemanden beurteilen, der über solche Dinge nichts weiß.

Es ist ein großes Feld. Es gibt ein Meer von Wissen und die meisten Menschen sind in der Lage, in einem Tropfen zu lernen und ein Experte zu sein. Der Schlüssel zum Wissenschaftsein liegt in dem Wunsch zu lernen und der Motivation, das zu wissen, was Sie noch nicht wissen.

Als Beispiel: Ich könnte der richtigen Person über ein Jahrzehnt hinweg hundert strukturierte CSV-Dateien mit Informationen über die Unterrichtsleistung in einer bestimmten Klasse übergeben. Ein Datenwissenschaftler könnte ein Jahr lang Einblicke in die Daten gewinnen, ohne jemals Berechnungen auf mehrere Computer verteilen zu müssen. Sie könnten Algorithmen für maschinelles Lernen anwenden, sie mithilfe von Visualisierungen analysieren, sie mit externen Daten über die Region, ethnische Zugehörigkeit, Veränderungen der Umwelt im Laufe der Zeit, politischen Informationen, Wettermustern usw. kombinieren. All dies wäre meiner Meinung nach "Data Science" . Das Testen und Anwenden von Informationen, die Sie gelernt haben, auf Daten, die ein ganzes Land von Schülern umfassen, und nicht nur auf ein Klassenzimmer, ist möglicherweise nicht unbedingt erforderlich.

Steve Kallestad
quelle
10

Als ehemaliger Hadoop-Ingenieur wird es nicht benötigt, aber es hilft. Hadoop ist nur ein System - das gängigste auf Java basierende System und ein Ökosystem von Produkten, die eine bestimmte Technik "Map / Reduce" anwenden, um rechtzeitig Ergebnisse zu erzielen. Hadoop wird bei Google nicht verwendet, obwohl ich Ihnen versichere, dass sie Big-Data-Analysen verwenden. Google verwendet eigene Systeme, die in C ++ entwickelt wurden. Tatsächlich wurde Hadoop als Ergebnis der Veröffentlichung der Whitepaper Map / Reduce und BigTable (HBase in Hadoop) von Google erstellt.

Datenwissenschaftler werden mit Hadoop-Ingenieuren Kontakt aufnehmen, obwohl Sie an kleineren Orten möglicherweise beide Hüte tragen müssen. Wenn Sie ausschließlich Datenwissenschaftler sind, wird alles, was Sie für Ihre Analysen verwenden, R, Excel, Tableau usw., nur auf einer kleinen Teilmenge ausgeführt und muss dann konvertiert werden, um den vollständigen Datensatz mit Hadoop zu verarbeiten.

user9170
quelle
8

Sie müssen zuerst klarstellen, was Sie mit "Hadoop lernen" meinen. Wenn Sie Hadoop verwenden möchten, beispielsweise das Programmieren in MapReduce, ist dies höchstwahrscheinlich eine gute Idee. Grundkenntnisse (Datenbank, maschinelles Lernen, Statistik) können jedoch im Laufe der Zeit eine größere Rolle spielen.

Lgylym
quelle
Anscheinend verwenden die meisten Leute Hadoop für Analysen. Was ich denke ist, brauche ich so etwas oder Kenntnisse über Datenbank, ML, Statistik ist genug?
Pensu
5

Ja, Sie sollten eine Plattform erlernen, die Ihr Problem als datenparalleles Problem erkennen kann. Hadoop ist einer. Für Ihre einfachen Anforderungen (Entwurfsmuster wie Zählen, Aggregieren, Filtern usw.) benötigen Sie Hadoop, und für komplexere maschinelle Lernaufgaben wie Bayesian oder SVM benötigen Sie Mahout, für dessen Lösung Hadoop (Now Apache Spark) erforderlich ist ein datenparalleler Ansatz.

Daher ist Hadoop eine gute Lernplattform und für Ihre Stapelverarbeitungsbedürfnisse sehr wichtig. Nicht nur Hadoop, sondern Sie müssen auch Spark (Mahout führt seine Algorithmen unter Verwendung von Spark aus) und Twitter Storm (für Ihre Echtzeit-Analyseanforderungen) kennen. Diese Liste wird fortgeführt und weiterentwickelt. Wenn Sie mit den Bausteinen (verteiltes Computing, datenparallele Probleme usw.) vertraut sind und wissen, wie eine solche Plattform (z. B. Hadoop) funktioniert, sind Sie mit anderen ziemlich schnell auf dem neuesten Stand.

Yavar
quelle
4

Dies hängt stark von der Umgebung / Firma ab, mit der Sie arbeiten. In meinen Augen herrscht derzeit ein "Big-Data" -Hype, und viele Unternehmen versuchen, mit Lösungen auf Hadoop-Basis Fuß zu fassen. Das macht Hadoop auch zu einem Schlagwort, aber es ist nicht immer die beste Lösung.

Meiner Meinung nach sollte ein guter Data Scientist in der Lage sein, die richtigen Fragen zu stellen und diese so lange zu wiederholen, bis klar ist, was wirklich benötigt wird. Dann muss ein guter DataScientist natürlich wissen, wie er das Problem angeht (oder zumindest jemanden kennen, der das kann). Ansonsten könnte Ihr Stakeholder frustriert sein :-)

Also, ich würde sagen, es ist nicht unbedingt notwendig, Hadoop zu lernen.

PlagTag
quelle
2

Sie können Data-Science-Techniken auf Daten auf einer Maschine anwenden, sodass die Antwort auf die Frage, wie sie vom OP formuliert wurde, Nein lautet.

Ihe Onwuka
quelle
1

Data Science ist ein Bereich, der eine Vielzahl von Fähigkeiten erfordert. Kenntnisse über Hadoop sind eine davon. Die Hauptaufgaben eines Data Scientist umfassen:

  1. Sammeln von Daten aus verschiedenen Ressourcen.
  2. Daten bereinigen und vorverarbeiten.
  3. Untersuchung der statistischen Eigenschaften der Daten.
  4. Verwenden von Techniken des maschinellen Lernens, um Prognosen zu erstellen und Erkenntnisse aus den Daten abzuleiten.
  5. Vermittlung der Ergebnisse an Entscheidungsträger auf leicht verständliche Weise.

Von den oben genannten Punkten sind Kenntnisse in Hadoop für die Punkte 1, 2 und 3 nützlich, aber Sie benötigen auch einen starken mathematischen / statistischen Hintergrund und solide Kenntnisse in Computertechniken, um im Bereich der Datenwissenschaften zu arbeiten. Auch Hadoop ist nicht das einzige Framework, das in Data Science verwendet wird. Das Big-Data-Ökosystem verfügt über eine Reihe von Frameworks, die jeweils für einen bestimmten Anwendungsfall spezifisch sind. Dieser Artikel enthält einführendes Material zu wichtigen Big Data-Frameworks, die in Data Science verwendet werden könnten:

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

Rajeev Singh
quelle
1

Ich denke, Leaning Hadoop Framework (harter Weg) ist keine Voraussetzung, um Data Scientist zu sein. Allgemeine Kenntnisse auf allen Big-Data-Plattformen sind unerlässlich. Ich werde vorschlagen, das Konzept zu kennen. Hadoop benötigt nur einen Teil von MapReduce: http://hadoop.apache.org/docs/current/hadoop-mapreduce-client/hadoop-mapreduce-client-core/MapReduceTutorial.html

Ein Data Scientist baut keine Cluster auf, verwaltet ... macht einfach "Magie" mit Daten und kümmert sich nicht darum, woher sie kommen. Der Begriff "Hadoop" bezieht sich nicht nur auf die oben genannten Basismodule, sondern auch auf das "Ökosystem" oder eine Sammlung zusätzlicher Softwarepakete, die auf oder neben Hadoop installiert werden können, z. B. Apache Pig, Apache Hive, Apache HBase, Apache Spark und andere.

Am wichtigsten ist die Programmiersprache, Mathematik und Statistik für die Arbeit mit Daten (Sie müssen einen Weg finden, um eine Verbindung mit Daten herzustellen und voranzukommen). Ich wünschte, ich hätte jemanden, der mich auf das Konzept hinweist, und würde keine Wochen damit verbringen, das Framework zu lernen und von Grund auf neu zu erstellen, da dieser Teil die Administratorrolle und nicht die des Data Engineer oder des Data Scientist ist. Auch eines: Alle verändern sich und entwickeln sich weiter, aber Mathematik, Programmierung und Statistik sind immer noch die Anforderungen.

Der Zugriff auf Daten von hdfs aus ist unerlässlich, zum Beispiel für PROC Hadoop, Hive, SparkContext oder jeden anderen Treiber oder Pipe (behandeln Sie hadoop als einen Punkt, um auf Daten oder Speicher zuzugreifen :)

Es sind bereits Tools oder Frameworks vorhanden, die die Ressourcenzuweisung und -verwaltung sowie die Leistung sicherstellen.

n1tk
quelle