Da Unternehmen im Betrieb und Aufbau ihres Geschäfts immer stärker auf Daten angewiesen sind und Anwendungsfälle des maschinellen Lernens ausführen wollen, die eine solide Dateninfrastruktur erfordern, wird die Rolle des Data Engineers immer wichtiger.
In diesem Einstellungsleitfaden erfahren Sie alles, was Sie über Data Engineering wissen müssen, warum diese Funktion so beliebt geworden ist, was ein Data Engineer tut und wie Sie Ihren nächsten Data Engineer erfolgreich einstellen.
Über Data Engineering
Unter Data Engineering versteht man den Prozess der Entwicklung und Konstruktion von Systemen zur Erfassung, Speicherung und Analyse großer Datenmengen. Es ist ein weites Feld, das in fast jeder Branche Anwendung findet. Data-Engineering-Teams sammeln und verwalten Daten in großem Umfang und setzen ihr Wissen und die richtigen Technologien ein, um sicherzustellen, dass die Daten in einem brauchbaren Zustand sind, wenn sie die Data Scientists, Analysten und andere Verbraucher erreichen.
Data Engineers bauen verteilte Systeme auf, die Rohdaten sammeln, verarbeiten und in verwertbare Informationen für Data-Science-Teams, maschinelles Lernen und Business-Intelligence-Experten umwandeln, um sie später in verschiedenen Anwendungen zu nutzen.
Data Engineers entwerfen und erstellen Datenpipelines, die große Datenmengen in ein gut nutzbares Format umwandeln und transportieren, bis sie die Endbenutzer erreichen. Diese Pipelines sammeln in der Regel Daten aus verschiedenen Quellen und speichern sie in einem einzigen Data-Warehousing- oder Data-Lake-Repository, das sie einheitlich als eine einzige Informationsquelle darstellt.
Das obige Diagramm veranschaulicht den Arbeitsablauf einer Datenplattform, die in den einzelnen Schritten üblicherweise verwendeten Technologien und den Aufgabenbereich eines Data Engineers. Wie Sie sehen können, geht eine Menge Arbeit in das Data Engineering, bevor es von BI-Analysten oder Data Scientists genutzt wird. Studien haben gezeigt, dass erstaunliche 80 % des Aufwands für datengesteuerte Projekte auf das Data Engineering entfallen, um die Daten nutzbar zu machen, während 20 % auf die Wertschöpfung aus diesen Daten entfallen.
So ist es nicht verwunderlich, dass laut einer Stack Overflow-Umfrage aus dem Jahr 2021 die Gehälter von Data Engineers im Durchschnitt bei 68.034 Dollar pro Jahr liegen, was diesen Beruf im oberen Bereich der Gehaltstabellen aufsteigen lässt.
Warum und wann sollten Sie einen Data Engineer einstellen?
Sie sollten einen Data Engineer einstellen, wenn Sie Anwendungen oder Datenplattformen (Data Warehouse, Data Lakes) aufbauen wollen, die das Abrufen und Konsolidieren von Daten aus verschiedenen Quellen erfordern.
Dieser Bedarf entsteht in der Regel, wenn Sie entweder einen Anwendungsfall für maschinelles Lernen haben, der große Datenmengen erfordert, oder wenn Sie ein zentrales Repository benötigen, in dem Sie alle Ihre strukturierten und unstrukturierten Daten speichern können, auch bekannt als Data Lake oder Data Warehouse.
Arten von Data Engineers
Big Data-centric (Data) Engineer
Ein Big-Data-Engineer konzentriert sich auf die Verarbeitung großer Datenmengen. Die Daten werden in der Regel in verteilten Dateisystemen oder Objektspeichersystemen und nicht in relationalen Datenbanken gespeichert. Um die Datenmengen zu verarbeiten, verwendet ein Big-Data-Engineer Datenverarbeitungs-Frameworks wie Spark, MapReduce oder Flink. Obwohl häufig SQL verwendet wird, erfolgt die Programmierung größtenteils in Sprachen wie Scala, Python oder Java, wodurch die Funktion eher der eines Backend-Entwicklers ähnelt. Ein Big-Data-Engineer verwendet in der Regel den ETL-Prozess (Extract, Transform, Load) und erstellt Batch- und Streaming-Datenpipelines, die in der Regel von Tools wie Apache Airflow orchestriert werden.
Database oder Data Warehouse-centric Data Engineer
Ein Database- oder Data Warehouse-centric Data Engineer konzentriert sich in erster Linie auf die Extraktion und Umwandlung strukturierter Daten aus relationalen Datenbanken. Der Prozess umfasst hier die Verwendung eines Standard-Datenbankmanagementsystems, tabellengesteuerte Logik und Methoden, Datenbankserver und gespeicherte Verfahren.
Was macht ein Data Engineer tagtäglich?
Zu den Verantwortlichkeiten und Aufgaben eines Data Engineers gehören in der Regel:
- Ermittlung und Umsetzung von Umgestaltungen der Infrastruktur im Hinblick auf Skalierbarkeit
- Optimierung der Datenübermittlung
- Zusammenstellung großer Datensätze
- Aufbau einer Infrastruktur für die Extraktion und das Laden von Daten
- Entwicklung von Analysetools für die Datenpipeline und Bereitstellung von Erkenntnissen für die betriebliche Effizienz
Wir haben auch Mehmet Ozan Ünal, einen Data Engineer bei Proxify, zu den täglichen Aufgaben in dieser Position befragt, und er erklärt:
"Data Engineers erstellen in der Regel ETL-Pipelines, entwerfen Schemata und überwachen und planen Pipelines. Eine weitere wichtige Aufgabe ist die Gestaltung und Formatierung der Dateninfrastrukturen für das Unternehmen. Ein Data Engineer sollte die Verbindung zwischen Datenquellen (zum Beispiel SAP, aber auch IoT (Internet of Things) und App-Daten und Datenkonsumenten (Datenanalysten, Data Scientists, Geschäftsleute, Pipelines für maschinelles Lernen, Business Intelligence und Berichtssysteme) herstellen."
Mehmet Ozan Ünal
Kurz gesagt, kümmert sich ein Data Engineer um:
- Entwicklung und Pflege von Datenplattformen
- Ausführliche Analyse der Rohdaten
- Verbesserung der Qualität und Effizienz aller Daten
- Entwicklung und Prüfung von Architekturen für die Extraktion und Umwandlung von Daten
- Aufbau von Datenpipelines
- Entwicklung von Algorithmen zur effizienten Datenverarbeitung
- Forschungsmethoden für die Zuverlässigkeit der Daten
- Unterstützung bei der Entwicklung von Analysetools
Vorstellungsgespräch mit einem Data Engineer
Wesentliche Technologien und Programmiersprachen für einen Data Engineer
Mehmet nennt die wichtigsten Technologien, die ein Data Engineer kennen muss:
- Programmiersprachen: SQL und entweder Python, Scala oder Java
- Tools und Systeme: Kafka, Spark, Apache Airflow (für die Orchestrierung von Datenpipelines), Transaktionsdatenbanken (MySQL, PostgreSQL), Datenformate (Parquet, Protobuf, Avro), Kodierung: Versionsverwaltung (Git), Algorithmen und Datenstrukturen
- Containerisierung: CI/CD-Systeme und Docker
- Cloud: Azure, GCP, oder AWS
Es gibt spezielle Tools, die das Data Engineering effizienter machen. Die fünf wichtigsten werden unten aufgeführt:
1. Data Warehouses
- Amazon Redshift: Ein Cloud-Data-Warehouse für einfache Dateneinrichtung und Skalierung.
- Google Big Query: Ein Cloud-Data-Warehouse, das sich hervorragend für kleinere Unternehmen eignet, die skalieren möchten.
- Snowflake: Eine SaaS-Lösung, die vollständig verwaltet wird und eine Plattform für verschiedene Zwecke wie Data Engineering, Data Lakes, Data Warehousing, Data App-Entwicklung und mehr bietet.
- Apache Spark: Ein Open-Source-Analyse-Modul, das zur Verarbeitung von Daten in großem Maßstab verwendet wird. Es handelt sich um ein Open-Source-Projekt, ist aber auch als webbasierte Distribution erhältlich, die von den Spark-Gründern unter dem Namen Databricks entwickelt wurde.
- Google Cloud Data Fusion: Eine Web-UI für die Erstellung von Integrationslösungen für skalierbare Daten, um Daten aufzubereiten und umzuwandeln, ohne dass die Infrastruktur verändert werden muss.
- Azure Data Factory: Ein ETL-Dienst (Extrahieren, Transformieren, Laden) von Azure für die Erstellung von Datenflüssen und Integrationsdaten, ohne dass ein Server verwendet werden muss.
3. Datenumwandlung:
- Dbt: Data Build Tool, ein Tool für die direkte Umwandlung von Daten im Warehouse, durch die Code-Verwendung für den gesamten Prozess.
4. Data Lake und Lakehouse:
- Databricks: Eine einheitliche, offene Plattform, die für alle Daten verwendet wird, insbesondere für geplante und interaktive Datenanalysen.
- Amazon S3: Ein Dienst für die Speicherung von Objekten und die Skalierbarkeit, Leistung und Sicherheit von Daten, die als Objektformat gespeichert sind.
- Google Cloud-Speicher: Google-Dienst zum Speichern von Objekten und Daten in der Google-Cloud.
- Azure Data Lake: Als Teil von Microsoft ist der Azure Data Lake eine öffentliche Plattform mit Diensten und Produkten für die Analyse von Big Data.
5. Workflow-Orchestratoren:
- Apache Airflow: Ein Open-Source-WMS (Workflow-Management-System) für die Organisation, Planung und Überwachung von Arbeitsabläufen.
- Luigi: Ein Python-Tool-Paket zum Erstellen, Planen und Orchestrieren von Pipelines.
6. Event Stream Processing:
- Google Cloud Pub/Sub: Messaging mit schnellen und sofortigen Warnungen und Benachrichtigungen, die parallele Verarbeitung und ereignisgesteuerte Architekturen ermöglichen.
- Apache Kafka: Ein Ereignisspeicher und eine Open-Source-Plattform für Stream-Processing-Aktionen.
Technische Fähigkeiten eines Data Engineers
Ein Data Engineer muss über diese entscheidenden technischen Fähigkeiten verfügen:
- Datenerfassung – Bewältigung des Datenvolumens, aber auch der Vielfalt und Geschwindigkeit.
- Kodierung – Da Programmierkenntnisse unerlässlich sind, müssen sie entweder Scala, Java oder Python, die am häufigsten verwendeten Sprachen für Data-Engineering-Systeme und -Frameworks, beherrschen.
- Datentransformation – der Data Engineer muss sich mit der Transformation von Daten, z. B. mit der Bereinigung (z. B. Entfernen von Duplikaten), der Zusammenführung von Daten und der Aggregation von Daten, auskennen.
- Data Warehousing – Er muss wissen, wie man das DW in Stufen unterteilt und Faktentabellen erstellt, indem er Tabellen kombiniert und aggregiert, um das Reporting effizienter zu gestalten.
- Datenanalyse – er muss wissen, wie man aus einem Datensatz Erkenntnisse gewinnt, insbesondere wenn es um Qualitätsprüfungen geht, z. B. Verteilung von Daten, Überprüfung von Duplikaten usw.
Außerdem sagte Mehmet:
"Ein guter Data Engineer muss über praktische Kenntnisse und Erfahrungen mit Programmierung und Data Warehousing verfügen. Hinzu kommen Grundkenntnisse in maschinellem Lernen, Datenmodellierung sowie Linux und Shell-Skripting."
Die wichtigsten Fragen (und Antworten) im Vorstellungsgespräch zur Beurteilung von Data Engineers
Ein hervorragender Ansatz zur Beurteilung der technischen Fähigkeiten eines Bewerbers ist es, ihm spezifische Fragen zum Data Engineering zu stellen, mit deren Hilfe Sie die Spreu vom Weizen trennen können. Um die Fähigkeiten und das Fachwissen eines Data Engineers zu testen und zu bewerten sowie den besten Kandidaten zu finden, sollten Sie Folgendes fragen:
- Erläutern Sie Hadoop und seine Komponenten.
Erwartete Antwort: Hadoop ist ein Open-Source-Framework, das für die praktische und effiziente Speicherung und Verarbeitung großer Datensätze verwendet wird. Diese großen Datensätze können zwischen Gigabyte und Petabyte variieren, und Hadoop ermöglicht ein vereinfachtes Clustering solcher großen Mengen.
Zunächst gibt es vier Komponenten (1 Basis-/Grundlagenkomponente + 3 Kernkomponenten) und zusätzliche vertiefende Komponenten, die im Folgenden erläutert werden.
- Hadoop Common – Der Datensatz von standardmäßigen, grundlegenden Hadoop-Bibliotheken.
- Hadoop MapReduce – Für die Verarbeitung von großen Datenmengen.
- Hadoop YARN – Für die Verwaltung von Ressourcen und die Planung von Aufgaben.
- HDFS – Hadoop Distributed File System (Verteiltes Dateisystem).
Dann verwenden wir auch:
- Hive und Pig – für den Datenzugriff
- Apache Flume, Chukwa, Sqoop – für die Datenintegration
- HBase – für die Datenspeicherung
- Avro und Thrift – für die Datenserialisierung
- Drill und Apache Mahout – für Datenintelligenz
- Oozie, Zookeeper und Ambari – für Datenmanagement, -orchestrierung und -überwachung
- Was sind Block & Block-Scanner von HDFS?
Erwartete Antwort: Bei den Blocks in HDFS handelt es sich um Dateien mit der kleinstmöglichen Größe. Sie sind das Ergebnis der Zerlegung von Dateien enormer Größe durch Hadoop.
Der Block-Scanner hilft uns bei der Verfolgung von Listen, die die Blocks enthalten, und bei der Ermittlung von Prüfsummenproblemen durch Drosselung (Ausführung einer Funktion nur einmal, unabhängig von Ereigniswiederholungen).
- Erläutern Sie, was ein Reducer ist und was seine wichtigsten Verfahren sind.
Erwartete Antwort: Wenn wir Daten in Hadoop verarbeiten, ist Mapper die zweite Stufe und Reducer die dritte Verarbeitungsstufe.
Der Reducer hat drei Hauptverfahren:
- setup() – Mit diesem Befehl kann man auf einfache Weise Parameter und Cache verwalten und die Größe der Eingabedaten festlegen.
- cleanup() – Mit dieser Funktion kann man die temporären Dateien entfernen.
- reduce() – Dies kann man nur einmal für jeden Aufgabenschlüssel aufrufen, und das ist der Kern des Reducers.
- Wie werden "args" und "kwargs verwendet"?
Erwartete Antwort: Sowohl args als auch kwargs sind Funktionen. Wenn man eine Funktion in einer Befehlszeile und in einer Reihenfolge angeben und verwenden muss, verwendet man * args. Andernfalls, wenn man auf eine Gruppe von In-line-Argumenten verweisen muss, die ungeordnet an Funktionen übergeben werden, verwendet man ** kwargs.
- Vergleichen Sie Star Schema und Snowflake Schema miteinander.
Erwartete Antwort: Bei der Datenmodellierung gibt es zwei Arten von Schemata für Entwürfe, das Star Schema und das Snowflake Schema.
-
Das Star Schema hat denormalisierte Dimensionen oder Wiederholungen von Werten in einer Tabelle, und das Schreiben von Abfragen ist einfach, ohne die Notwendigkeit, mehr Joins zu schreiben. Es ist außerdem einfach einzurichten und zu gestalten. Mit dem Star Schema werden redundante Daten in Dimensionstabellen gespeichert. Was den Speicherplatz angeht, so benötigt das Star Schema im Vergleich zum Snowflake Schema mehr Speicherplatz für eine schnelle Leistung.
-
Das Snowflake Schema hat eine normalisierte Datenstruktur mit Dimensionshierarchien, die übersichtlich in separaten Tabellen dargestellt werden. Dieses Schema ist in Bezug auf die gesamte Instandhaltung deutlich komplexer als das Star Schema. Mit Snowflake wird die Abfrageerstellung nicht vereinfacht, und wir benötigen mehr Joins zur Verknüpfung zusätzlicher Tabellen. Mit dem Snowflake Schema werden redundante Daten vermieden, und die Dimensionstabellen werden normalisiert. Mit dem Snowflake Schema wird aufgrund des Redundanzfaktors kein großer Speicherplatz benötigt (was bei Star von größerer Bedeutung ist, wie oben beschrieben).
- Erläutern Sie, was ein sekundärer NameNode ist und nennen Sie seine Funktionen.
Erwartete Antwort: Der sekundäre NameNode wird für den Empfang von Protokollen über Bearbeitungsänderungen von einem bestimmten NameNode verwendet. Dies ermöglicht es uns, eine Grenze für die Protokollgröße der Bearbeitungen festzulegen und einzuhalten.
Die Funktionen des sekundären NameNodes sind:
- Checkpoint – Dies wird verwendet, um zu bestätigen und sicherzustellen, dass die Daten nicht beschädigt sind.
- FsImage – Dies wird verwendet, wenn eine Kopie von FsImage oder einer EditLog-Datei gespeichert werden soll.
- Update – Für eine automatische Aktualisierung der FsImage- und EditLog-Dateien verwendet man Update.
- NameNode crash – Falls NameNode tatsächlich ausfällt und abstürzt, kann man NameNode durch die Verwendung von FsImage neu erstellen.
- Können Sie die verschiedenen Ansätze zur Datenvalidierung auflisten und näher erläutern?
Erwartete Antwort: Man kann die unten aufgeführten Punkte mit den Ansätzen zur Datenvalidierung überprüfen:
- Daten – Die Datentypprüfung ermöglicht die Überprüfung der Genauigkeit der Daten. So kann man zum Beispiel keine buchstabenbasierten Daten in einem Feld verwenden, das nur zahlenbasierte Daten akzeptiert.
- Bereich – Wenn man prüfen muss, ob ein vordefinierter Bereich Eingabedaten enthält, führt man eine Bereichsprüfung durch.
- Code – Wenn man ein bestimmtes Feld aus einer Werteliste auswählt, muss man sicherstellen, dass die Liste gültig ist und dass das Feld korrekt formatiert ist, was man mit einer Codeprüfung erreicht.
- Format – Man wird auf eine vordefinierte Struktur mit vielen Datentypen treffen. Mit einer Formatprüfung wird überprüft, ob alle Datumsangaben das richtige Format haben (z. B. TT/MM-JJJJ oder JJJJ/MM/TT).
- Einzigartigkeit – Mit einer Einzigartigkeitsprüfung stellt man sicher, dass es keine sich wiederholenden Einträge von Elementen gibt, die von Natur aus einzigartig sein müssen, wie z. B. E-Mail-Adressen oder persönliche Inhalte.
- Konsistenz: Bei der Konsistenzprüfung wird überprüft, ob die Daten logisch eingegeben werden und eine klare Reihenfolge und Hierarchie der Elemente besteht. Zum Beispiel sollte auf das "Produktionsdatum" von etwas ein "Veröffentlichungsdatum" folgen und nicht umgekehrt.
- Was ist DAG in Apache Spark?
Erwartete Antwort: DAG (Directed Acrylic Graph) stellt eine Menge von Vertices dar, die für Code-Interpretationen verwendet werden. Es handelt sich dabei um einen Graphen, der jeden Vorgang auf dem RDD speichert und darstellt sowie eine hervorragende Möglichkeit bietet, den Ablauf von Vorgängen zu erstellen und zu verwalten. Er bietet eine topologische Ordnung und Abfolge sowie eine übersichtliche visuelle Darstellung von RDDs.
- Was ist die "lazy evaluation" in Spark?
Erwartete Antwort: "Lazy evaluation" stellt einen Prozess in Spark dar, bei dem eine Aktion aufgerufen werden muss, andernfalls wird ein Prozess nicht ausgeführt. Daher ist Spark nicht allzu aktiv oder bedeutend, wenn man an Transformationen arbeitet, wenn man aber eine Aktion aufruft, wird ein DAG (Directed Acrylic Graph) erstellt. Von Natur aus sind alle Transformationen langsam und träge, so dass die Vorgänge im RDD nicht sofort beginnen. An dieser Stelle kommt Spark ins Spiel: Es sendet die Transformationen an einen DAG, der ausgeführt wird, sobald eine Datenanforderung von einem Treiber vorliegt.
- Worin unterscheidet sich Spark im Vergleich zu Hadoop MapReduce?
Erwartete Antwort: Spark ist ein Tool für die Verarbeitung von Datenpipelines, ein verteiltes Open-Source-Verarbeitungssystem, das für die Arbeit mit großen Datenmengen verwendet wird. Hadoop MapReduce ist ein Framework für die vereinfachte Erstellung von Apps, die einen großen Datenumfang verarbeiten. Wenn man nun Spark und Hadoop MapReduce miteinander vergleicht, kann man feststellen, dass MapReduce die Daten auf der Festplatte verarbeitet, während Spark die Daten im Speicher verarbeitet und sie dort auch aufbewahrt. Außerdem ist MapReduce, was die Verarbeitungsgeschwindigkeit angeht, im Vergleich zu Spark langsamer.
- Was ist der Unterschied zwischen linker, rechter und innerer Verknüpfung?
Erwartete Antwort: Linke, rechte und innere Verknüpfung sind Schlüsselwörter in SQL, die für die Kombination von Zeilen in mindestens zwei oder mehr Tabellen verwendet werden, sowie wenn sie eine gemeinsame Spalte irgendwo dazwischen haben.
- Innere Verknüpfung – Wird für die Auswahl aller Zeilen aus den Tabellen insgesamt verwendet. Dieses Schlüsselwort kombiniert die Zeilen der Tabellen, die denselben identischen gemeinsamen Feldwert haben.
- Linke Verknüpfung – Dieses Schlüsselwort positioniert die Tabellenzeilen links von der Verknüpfung und synchronisiert auch die Zeilen in der Tabelle auf der rechten Seite.
- Rechte Verknüpfung – Dieses Schlüsselwort bringt die Zeilen in der Tabelle zurück, die sich auf der rechten Seite der Verknüpfung befindet, synchronisiert aber die Zeilen für die Tabelle auf der linken Seite. Sie ist der linken Verknüpfung sehr ähnlich.
- Können Sie den Begriff Datennormalisierung definieren?
Erwartete Antwort: Der Prozess der Erstellung sauberer Daten, d.h. die Organisation von Daten und die Definition ihres einheitlichen Formats in mehreren Feldern und Datensätzen, ist allgemein als Datennormalisierung bekannt. Die Datennormalisierung trägt dazu bei, unstrukturierte oder doppelte Daten zu entfernen, so dass nur noch logische und verwendete Daten gespeichert werden.
Mögliche Herausforderungen bei der Einstellung eines Data Engineers
Bei der Einstellung einer neuen Person gibt es, je nach Beruf und Anforderungen, immer Herausforderungen.
Eine der größten Herausforderungen besteht darin, dass das Aufgabengebiet des Data Engineers groß und unübersichtlich geworden ist. Es sollte nicht mit den folgenden verwandten Funktionen verwechselt werden:
- Database Administrator (DBA), der sich mehr auf die Erstellung und Optimierung von OLTP-Datenbanken konzentriert.
- Data Analyst, der sich in der Regel mehr auf die Steigerung des Geschäftswerts konzentriert, indem er Dashboards und Ad-hoc-Berichte erstellt.
- Analytics Engineer, der der Funktion eines Data Analyst ähnelt, aber eher die Fähigkeiten eines Software Engineers besitzt (Versionskontrolle, CI/CD, Verwendung von Python/Scala/Java) und sich in der Regel auf Data Warehousing, SQL-Pipelines und Optimierung konzentriert.
- Machine Learning Engineer, der die von Data Scientists erstellten ML-Modelle in der Produktion einsetzen kann. Dies erfordert ein tieferes Verständnis von Statistik, Algorithmen und Mathematik. Einige Data Engineers verfügen über dieses Wissen, aber für ein mittelgroßes bis großes Datenteam sollte dies eine eigenständige Funktion sein.
Es muss betont werden, dass einstellende Manager/Arbeitgeber häufig die Angewohnheit haben, Data Engineers ein niedrigeres Gehalt oder ein Gehalt unter dem Marktwert anzubieten. Diese Art von "Herausforderung" gehört auf die Seite der einstellenden Manager, die sich fälschlicherweise auf alles konzentrieren, nur nicht auf den langfristigen Nutzen eines qualifizierten Data Engineers für das Unternehmen.
Was unterscheidet einen großartigen Data Engineer von einem guten?
Die Auswahl des besten Kandidaten für die Funktion des Data Engineers kann schwierig sein, vor allem, wenn mindestens zwei Kandidaten über ähnliche Erfahrungen und Kenntnisse verfügen. Einer wird sich jedoch immer durch fundiertes Wissen, die Beherrschung technischer Fähigkeiten und eine proaktive, dynamische Denkweise auszeichnen.
Der großartige Data Engineer:
-
Schafft Lösungen, die leicht zu pflegen sind.
Wenn zum Beispiel ein manuelles Daten-Mapping erforderlich ist, um die Daten zu bereinigen, kodiert der Entwickler dann die Werte fest oder erstellt er eine Konfigurationsdatei, die leicht aktualisiert werden kann?
-
Versteht die geschäftlichen Anforderungen und entwickelt nicht zu viele Lösungen.
Es ist leicht, in die Falle zu tappen und komplexere Lösungen als nötig zu entwickeln. Dies könnte z. B. der Aufbau einer Streaming-Pipeline sein, die nahezu in Echtzeit arbeitet, während der tatsächliche Bedarf an Datenaktualisierung täglich besteht.
Vergessen wir nicht, dass es besonders wichtig ist, ein Teamplayer zu sein, da ein Data Engineer regelmäßig mit anderen Teammitgliedern, die unterschiedliche Funktionen haben (Data Scientist, Data Analyst, ML Engineer usw.), und mit anderen Teams des Unternehmens kommunizieren muss.
Der Wert von Data Engineering
Jedes Unternehmen kann von Data Engineering profitieren, da es ihnen ermöglicht, datengesteuerter zu werden. Es mag vage klingen, aber Data Engineering ist die Grundlage, die Sie benötigen, um Daten einfach zu nutzen und genau zu machen und fortgeschrittene Analysen und maschinelles Lernen zu ermöglichen. Wie bereits erwähnt, entfallen 80 % des Aufwands eines jeden Datenprojekts auf das Data Engineering.
Zusammenfassend erklärt Mehmet:
"Data Engineers sind für die Gestaltung des gesamten Datenflusses im Unternehmen und die Erstellung und Automatisierung von Datenpipelines zur Umsetzung dieses Flusses verantwortlich."
Mit einer solchen Person oder einem solchen Team kann sich ein Unternehmen auf Daten verlassen und weiß, dass sie in guten Händen sind und dass diese Data Engineers die Daten fehlerfrei erfassen, speichern und verarbeiten werden, was der erste Schritt zu einem datengesteuerten Unternehmen ist.