Dateningenieur und Datenwissenschaftler: Was ist der Unterschied?

Die Berufe Data Scientist und Data Engineer werden oft verwechselt. Jedes Unternehmen hat seine eigenen Besonderheiten bei der Arbeit mit Daten, unterschiedliche Ziele für deren Analyse und eine andere Vorstellung davon, welcher der Spezialisten in welchen Teil der Arbeit einbezogen werden soll, daher hat jedes seine eigenen Anforderungen. 

Wir finden heraus, was der Unterschied zwischen diesen Spezialisten ist, welche Geschäftsaufgaben sie lösen, welche Fähigkeiten sie haben und wie viel sie verdienen. Das Material erwies sich als umfangreich und wurde daher in zwei Veröffentlichungen aufgeteilt.

Im ersten Artikel sagt Elena Gerasimova, Leiterin der Fakultät „Datenwissenschaft und Analytik„in Netology erklärt, was der Unterschied zwischen einem Data Scientist und einem Data Engineer ist und mit welchen Tools sie arbeiten.

Wie unterscheiden sich die Rollen von Ingenieuren und Wissenschaftlern?

Ein Data Engineer ist ein Spezialist, der einerseits die Infrastruktur für die Arbeit mit Daten entwickelt, testet und wartet: Datenbanken, Speicher und Massenverarbeitungssysteme. Auf der anderen Seite ist dies derjenige, der Daten für die Verwendung durch Analysten und Datenwissenschaftler bereinigt und „durchkämmt“, also Datenverarbeitungspipelines erstellt.

Data Scientist erstellt und trainiert Vorhersagemodelle (und mehr) mithilfe von Algorithmen für maschinelles Lernen und neuronalen Netzen und hilft Unternehmen dabei, versteckte Muster zu finden, Entwicklungen vorherzusagen und wichtige Geschäftsprozesse zu optimieren.

Der Hauptunterschied zwischen einem Data Scientist und einem Data Engineer besteht darin, dass sie normalerweise unterschiedliche Ziele verfolgen. Beide arbeiten daran, die Daten zugänglich und von hoher Qualität zu halten. Aber der Data Scientist findet Antworten auf seine Fragen und testet Hypothesen im Datenökosystem (z. B. auf Basis von Hadoop), und der Data Engineer erstellt eine Service-Pipeline für den vom Data Scientist geschriebenen Machine-Learning-Algorithmus in einem Spark-Cluster innerhalb desselben Ökosystem. 

Ein Dateningenieur schafft Mehrwert für ein Unternehmen, indem er im Team arbeitet. Seine Mission ist es, als wichtiges Bindeglied zwischen verschiedenen Beteiligten – vom Entwickler bis zum Business-Anwender des Reportings – zu fungieren und die Produktivität der Analysten zu steigern – vom Marketing über das Produkt bis hin zur BI. 

Der Data Scientist hingegen beteiligt sich aktiv an der Strategie des Unternehmens und gewinnt Erkenntnisse, trifft Entscheidungen, implementiert Automatisierungsalgorithmen, modelliert und generiert Werte aus Daten.
Dateningenieur und Datenwissenschaftler: Was ist der Unterschied?

Bei der Arbeit mit Daten gilt das GIGO-Prinzip (Garbage In – Garbage Out): Wenn Analysten und Datenwissenschaftler mit unaufbereiteten und möglicherweise falschen Daten umgehen, sind die Ergebnisse selbst der ausgefeiltesten Analysealgorithmen falsch. 

Dateningenieure lösen dieses Problem, indem sie Pipelines für die Verarbeitung, Bereinigung und Transformation von Daten aufbauen und es dem Datenwissenschaftler ermöglichen, mit hochwertigen Daten zu arbeiten. 

Es gibt viele Datentools auf dem Markt, die alle Phasen abdecken: vom Erscheinen der Daten über die Ausgabe bis hin zum Dashboard für den Vorstand. Und es ist wichtig, dass die Entscheidung über ihre Verwendung vom Ingenieur getroffen wird, nicht weil es in Mode ist, sondern weil er den anderen Prozessbeteiligten bei ihrer Arbeit wirklich helfen wird. 

Bedingung: Wenn sich ein Unternehmen mit BI und ETL anfreunden muss – Laden von Daten und Aktualisieren von Berichten –, gibt es hier eine typische Legacy-Grundlage, mit der sich ein Dateningenieur befassen muss (es ist gut, wenn neben ihm auch ein Architekt im Team ist). .

Aufgaben eines Dateningenieurs

  • Entwicklung, Aufbau und Wartung von Infrastruktur für die Arbeit mit Daten.
  • Fehlerbehandlung und Aufbau robuster Datenverarbeitungspipelines.
  • Unstrukturierte Daten aus verschiedenen dynamischen Quellen in die für die Arbeit von Analysten erforderliche Form bringen.
  • Bereitstellung von Empfehlungen zur Verbesserung der Konsistenz und Qualität der Daten.
  • Bereitstellung und Pflege der von Datenwissenschaftlern und Datenanalysten verwendeten Datenarchitektur.
  • Daten konsistent und effizient in einem verteilten Cluster aus Dutzenden oder Hunderten von Servern verarbeiten und speichern.
  • Bewerten Sie die technischen Kompromisse von Tools, um einfache, aber robuste Architekturen zu erstellen, die Ausfälle überstehen können.
  • Steuerung und Unterstützung von Datenflüssen und zugehörigen Systemen (Einrichtung von Überwachungen und Warnungen).

Es gibt eine weitere Spezialisierung innerhalb der Dateningenieur-Trajektorie – ML-Ingenieur. Kurz gesagt, diese Ingenieure sind darauf spezialisiert, Modelle des maschinellen Lernens zur industriellen Einführung und Nutzung zu bringen. Oftmals ist ein Data-Scientist-Modell Teil einer Studie und funktioniert im Kampf möglicherweise nicht.

Aufgaben eines Datenwissenschaftlers

  • Extrahieren von Merkmalen aus Daten, um Algorithmen für maschinelles Lernen anzuwenden.
  • Verwendung verschiedener Tools für maschinelles Lernen zur Vorhersage und Klassifizierung von Mustern in Daten.
  • Verbessern Sie die Leistung und Genauigkeit von Algorithmen für maschinelles Lernen durch Feinabstimmung und Optimierung der Algorithmen.
  • Bildung „starker“ Hypothesen entsprechend der Unternehmensstrategie, die es zu testen gilt.

Sowohl der Data Engineer als auch der Data Scientist leisten gemeinsam einen konkreten Beitrag zur Entwicklung einer Kultur der Arbeit mit Daten, durch die ein Unternehmen Gewinne steigern oder Kosten senken kann.

Mit welchen Sprachen und Werkzeugen arbeiten Ingenieure und Wissenschaftler?

Heutzutage haben sich die Erwartungen an Datenwissenschaftler geändert. Zuvor erstellten Ingenieure große SQL-Abfragen, schrieben MapReduce manuell und verarbeiteten Daten mit Tools wie Informatica ETL, Pentaho ETL und Talend. 

Im Jahr 2020 kann ein Spezialist nicht auf Kenntnisse in Python und modernen Computertools (z. B. Airflow) sowie auf ein Verständnis der Prinzipien der Arbeit mit Cloud-Plattformen (Einsparung von Hardware unter Beachtung von Sicherheitsprinzipien) verzichten.

SAP, Oracle, MySQL und Redis sind traditionelle Tools für Dateningenieure in großen Unternehmen. Sie sind gut, aber die Lizenzkosten sind so hoch, dass der Umgang mit ihnen nur in Industrieprojekten sinnvoll ist. Gleichzeitig gibt es mit Postgres eine kostenlose Alternative – es ist kostenlos und nicht nur für das Training geeignet. 

Dateningenieur und Datenwissenschaftler: Was ist der Unterschied?
In der Vergangenheit wurde häufig eine Nachfrage nach Java und Scala angetroffen, obwohl diese Sprachen mit der Entwicklung von Technologien und Ansätzen in den Hintergrund treten.

Allerdings ist Hardcore BigData: Hadoop, Spark und der Rest keine Voraussetzung mehr für einen Dateningenieur, sondern eine Art Werkzeug zur Lösung von Problemen, die herkömmliches ETL nicht lösen kann. 

Der Trend geht zu Diensten zur Nutzung von Tools ohne Kenntnis der Sprache, in der sie geschrieben sind (z. B. Hadoop ohne Java-Kenntnisse) sowie zur Bereitstellung vorgefertigter Dienste zur Verarbeitung von Streaming-Daten (Erkennung von Sprache oder Bildern auf Video).

Beliebt sind industrielle Lösungen von SAS und SPSS, aber auch Tableau, Rapidminer, Stata und Julia werden von Datenwissenschaftlern häufig für lokale Aufgaben eingesetzt.

Dateningenieur und Datenwissenschaftler: Was ist der Unterschied?
Analysten und Datenwissenschaftler hatten erst vor ein paar Jahren die Möglichkeit, Pipelines selbst zu bauen: So ist es beispielsweise bereits möglich, mit relativ einfachen Skripten Daten an PostgreSQL-basierte Speicher zu senden. 

Typischerweise wird die Verwendung von Pipelines und integrierten Datenstrukturen den Dateningenieuren überlassen. Doch heute ist der Trend zu T-förmigen Spezialisten stärker denn je – mit breiten Kompetenzen in verwandten Bereichen, weil die Werkzeuge immer weiter vereinfacht werden.

Warum ein Dateningenieur und ein Datenwissenschaftler zusammenarbeiten

Durch die enge Zusammenarbeit mit Ingenieuren kann sich Data Scientist auf die Forschungsseite konzentrieren und einsatzbereite Algorithmen für maschinelles Lernen entwickeln.
Und Ingenieure sollten sich auf Skalierbarkeit und Datenwiederverwendung konzentrieren und sicherstellen, dass die Dateneingabe- und -ausgabepipelines in jedem einzelnen Projekt der globalen Architektur entsprechen.

Diese Aufgabentrennung gewährleistet die Konsistenz zwischen den Teams, die an verschiedenen maschinellen Lernprojekten arbeiten. 

Zusammenarbeit hilft dabei, effektiv neue Produkte zu entwickeln. Geschwindigkeit und Qualität werden durch ein Gleichgewicht zwischen der Schaffung eines Dienstes für alle (globaler Speicher oder Dashboard-Integration) und der Umsetzung jedes spezifischen Bedarfs oder Projekts (hochspezialisierte Pipeline, Anbindung externer Quellen) erreicht. 

Durch die enge Zusammenarbeit mit Datenwissenschaftlern und -analysten können Ingenieure Analyse- und Forschungsfähigkeiten entwickeln, um besseren Code zu schreiben. Der Wissensaustausch zwischen Benutzern von Data Warehouses und Data Lakes wird verbessert, wodurch Projekte flexibler werden und nachhaltigere Langzeitergebnisse liefern.

In Unternehmen, die darauf abzielen, eine Kultur der Arbeit mit Daten zu entwickeln und darauf basierende Geschäftsprozesse aufzubauen, ergänzen sich Data Scientist und Data Engineer und schaffen ein vollständiges Datenanalysesystem. 

Im nächsten Artikel werden wir darüber sprechen, welche Ausbildung ein Data Engineer und Data Scientist haben sollte, welche Fähigkeiten er entwickeln muss und wie der Markt funktioniert.

Von den Herausgebern von Netology

Wenn Sie sich für den Beruf des Data Engineers oder Data Scientists interessieren, laden wir Sie ein, die Programme unserer Studiengänge zu studieren:

Source: habr.com

Kommentar hinzufügen