Ganz oben auf der Liste der Data-Science- Funktionen stehen maschinelles Lernen und künstliche Intelligenz, und das sind nicht nur Schlagworte: Viele Organisationen wollen sie unbedingt übernehmen. Doch bevor man intelligente Produkte bauen kann, muss man die Daten sammeln und vorbereiten, die die KI antreiben. Eine separate Disziplin – Data Engineering – legt die notwendigen Grundlagen für Analyseprojekte. Damit verbundene Aufgaben belegen die ersten drei Ebenen der von Monica Rogati vorgeschlagenen Data-Science-Anforderungshierarchie .
In diesem Artikel sehen wir uns den data engineering prozess an, erläutern seine Kernkomponenten und Tools und beschreiben die Rolle eines Dateningenieurs.
Was ist Data Engineering?
Data Engineering ist eine Reihe von Vorgängen, um Daten für Datenwissenschaftler, Datenanalysten, Business Intelligence (BI)-Entwickler und andere Spezialisten innerhalb einer Organisation verfügbar und nutzbar zu machen. Es bedarf engagierter Experten – Dateningenieure –, um Systeme zum Sammeln und Speichern von Daten in großem Maßstab sowie zur Vorbereitung für weitere Analysen zu entwerfen und zu bauen.
In einem großen Unternehmen gibt es normalerweise viele verschiedene Arten von Betriebsmanagementsoftware (z. B. ERP, CRM, Produktionssysteme usw.), die alle Datenbanken mit unterschiedlichen Informationen enthalten. Außerdem können Daten als separate Dateien gespeichert oder in Echtzeit aus externen Quellen – wie IoT-Geräten – abgerufen werden. Wenn die Daten in verschiedenen Formaten verstreut sind, kann sich das Unternehmen kein klares Bild von seinem Geschäftszustand machen und keine Analysen durchführen.
Data Engineering geht dieses Problem Schritt für Schritt an.
Data Engineering-Prozess
Der data engineering prozess umfasst eine Reihe von Aufgaben, die aus einer großen Menge Rohdaten ein praktisches Produkt machen, das den Anforderungen von Analysten, Datenwissenschaftlern, Machine-Learning-Ingenieuren und anderen gerecht wird. Normalerweise besteht der End-to-End-Workflow aus den folgenden Phasen.
Bei der Datenaufnahme (Datenerfassung) werden Daten aus mehreren Quellen – SQL- und NoSQL- Datenbanken, IoT-Geräten , Websites, Streaming-Diensten usw. – in ein Zielsystem verschoben, wo sie für die weitere Analyse transformiert werden. Daten kommen in verschiedenen Formen vor und können sowohl strukturiert als auch unstrukturiert sein .
Bei der Datentransformation werden unterschiedliche Daten an die Bedürfnisse der Endbenutzer angepasst. Dabei werden Fehler und Duplikate aus den Daten entfernt, sie normalisiert und in das benötigte Format konvertiert.
Durch die Datenbereitstellung werden transformierte Daten an Endbenutzer übermittelt – eine BI-Plattform, ein Dashboard oder ein Data-Science-Team .
Die Datenflussorchestrierung bietet Einblick in den data engineering prozess und stellt sicher, dass alle Aufgaben erfolgreich abgeschlossen werden. Sie koordiniert und verfolgt kontinuierlich Datenworkflows, um Probleme mit der Datenqualität und -leistung zu erkennen und zu beheben.
Der Mechanismus, der die Schritte der Aufnahme, Transformation und Bereitstellung des data engineering prozesses automatisiert, wird als Datenpipeline bezeichnet.
Datentechnik-Pipeline
Eine Datenpipeline kombiniert Tools und Vorgänge, die Daten von einem System in ein anderes verschieben, um sie dort zu speichern und weiterzuverarbeiten. Der Aufbau und die Wartung von Datenpipelines ist die Hauptverantwortung von Dateningenieuren. Unter anderem schreiben sie Skripte, um sich wiederholende Aufgaben – Jobs – zu automatisieren .
Üblicherweise werden Pipelines verwendet für
- Datenmigration zwischen Systemen oder Umgebungen (von lokalen zu Cloud-Datenbanken);
- Datenbereinigung oder Konvertieren von Rohdaten in ein nutzbares Format für Analyse-, BI- und maschinelle Lernprojekte ;
- Datenintegration aus verschiedenen Systemen und IoT- Geräten; und
- Kopieren von Tabellen von einer Datenbank in eine andere.
Weitere Informationen finden Sie in unserem ausführlichen Erläuterungsbeitrag „ Datenpipeline: Komponenten, Typen und Anwendungsfälle“ . Oder bleiben Sie hier, um gängige Typen von Datenpipelines kurz kennenzulernen.
ETL-Pipeline
Die ETL-Pipeline (Extract, Transform, Load) ist die gängigste Architektur, die es seit Jahrzehnten gibt. Sie wird oft von einem engagierten Spezialisten implementiert – einem ETL-Entwickler .
Wie der Name schon sagt, automatisiert eine ETL-Pipeline die folgenden Prozesse.
- Extrahieren – Daten abrufen. Zu Beginn der Pipeline haben wir es mit Rohdaten aus zahlreichen Quellen zu tun – Datenbanken, APIs , Dateien usw.
- Transformieren – Standardisieren von Daten. Nachdem die Daten extrahiert wurden, werden sie von Skripten so transformiert, dass sie den Formatanforderungen entsprechen. Durch die Datentransformation wird die Auffindbarkeit und Nutzbarkeit der Daten erheblich verbessert.
- Laden – Daten an einem neuen Ziel speichern. Nachdem die Daten in einen nutzbaren Zustand gebracht wurden, können Ingenieure sie an das Ziel laden, normalerweise ein Datenbankverwaltungssystem (DBMS) oder ein Data Warehouse.
Sobald die Daten transformiert und in ein zentrales Repository geladen wurden, können sie für weitere Analysen und Business Intelligence- Vorgänge verwendet werden, d. h. zum Generieren von Berichten, Erstellen von Visualisierungen usw. Der Spezialist, der ETL-Pipelines implementiert
ELT-Pipeline
Eine ELT-Pipeline führt dieselben Schritte aus, jedoch in einer anderen Reihenfolge – Extrahieren, Laden, Transformieren. Anstatt alle gesammelten Daten zu transformieren, platzieren Sie sie in einem Data Warehouse, Data Lake oder Data Lakehouse . Später können Sie sie vollständig oder teilweise, einmal oder mehrmals verarbeiten und formatieren.
ELT-Pipelines sind vorzuziehen, wenn Sie so viele Daten wie möglich aufnehmen und sie später je nach Bedarf transformieren möchten. Anders als bei ETL müssen Sie sich bei der ELT-Architektur nicht im Voraus für Datentypen und -formate entscheiden. In Großprojekten werden häufig zwei Arten von Datenpipelines kombiniert, um sowohl traditionelle als auch Echtzeitanalysen zu ermöglichen. Außerdem können zwei Architekturen beteiligt sein, um Big Data-Analysen zu unterstützen .
Herausforderungen bei der Datenpipeline
Das Einrichten eines sicheren und zuverlässigen Datenflusses ist eine Herausforderung. Beim Datentransport kann vieles schiefgehen: Daten können beschädigt werden, es können Engpässe auftreten, die zu Latenzen führen, oder es können Konflikte zwischen Datenquellen auftreten, die doppelte oder falsche Daten erzeugen. Das Zusammenführen von Daten an einem Ort erfordert sorgfältige Planung und Tests, um Datenmüll herauszufiltern, Duplikate und inkompatible Datentypen zu eliminieren und so vertrauliche Informationen zu verschleiern, ohne kritische Daten zu verlieren.
Juan De Dios Santos , ein erfahrener Praktiker der Datenbranche, weist auf zwei große Fallstricke beim Aufbau von Datenpipelines hin:
- fehlende relevante Kennzahlen und
- Unterschätzung der Datenlast.
„Die Bedeutung eines gesunden und relevanten Messsystems liegt darin, dass es uns über den Status und die Leistung jeder Pipeline-Phase informieren kann, während die Datenlast unterschätzt wird. Ich meine damit, das System so aufzubauen, dass es nicht überlastet wird, wenn das Produkt einen unerwarteten Anstieg der Benutzerzahlen erfährt“, erläutert Juan.
Neben einer Pipeline muss ein Data Warehouse erstellt werden, um Data-Science-Aktivitäten zu unterstützen und zu erleichtern. Sehen wir uns an, wie das funktioniert.
Datenlager
Ein Data Warehouse (DW) ist ein zentrales Repository, in dem Daten in abfragbarer Form gespeichert werden. Aus technischer Sicht ist ein Data Warehouse eine relationale Datenbank, die für das Lesen, Aggregieren und Abfragen großer Datenmengen optimiert ist. Traditionell enthielten DWs nur strukturierte Daten oder Daten, die in Tabellen angeordnet werden können. Moderne DWs können jedoch auch unstrukturierte Daten (wie Bilder, PDF-Dateien und Audioformate) unterstützen.
Ohne DWs müssten Datenwissenschaftler die Daten direkt aus der Produktionsdatenbank abrufen und könnten zu derselben Frage unterschiedliche Ergebnisse liefern oder Verzögerungen und sogar Ausfälle verursachen. Das Data Warehouse dient als einzige zuverlässige Informationsquelle eines Unternehmens und vereinfacht die Berichterstattung und Analyse, die Entscheidungsfindung und die Prognose von Kennzahlen.
Überraschenderweise ist DW keine normale Datenbank. Wieso?
Zunächst einmal unterscheiden sie sich in der Datenstruktur. Eine typische Datenbank normalisiert Daten, schließt jegliche Datenredundanzen aus und trennt zusammengehörende Daten in Tabellen. Dies beansprucht viele Rechenressourcen, da eine einzelne Abfrage Daten aus vielen Tabellen kombiniert. Im Gegensatz dazu verwendet eine DW einfache Abfragen mit wenigen Tabellen, um Leistung und Analyse zu verbessern.
Zweitens sind Standard-Transaktionsdatenbanken auf alltägliche Transaktionen ausgerichtet und speichern normalerweise keine historischen Daten. Bei Data Warehouses ist dies jedoch ihr Hauptzweck, da sie Daten aus mehreren Zeiträumen sammeln. DW vereinfacht die Arbeit eines Datenanalysten, da es die Bearbeitung aller Daten über eine einzige Schnittstelle und die Ableitung von Analysen, Visualisierungen und Statistiken ermöglicht.
Normalerweise unterstützt ein Data Warehouse nicht so viele gleichzeitige Benutzer wie eine Datenbank, die für eine kleine Gruppe von Analysten und Entscheidungsträgern konzipiert ist.
Zum Aufbau eines Data Warehouse werden vier wesentliche Komponenten kombiniert.
Data Warehouse-Speicher. Die Grundlage der Data Warehouse-Architektur ist eine Datenbank, in der alle Unternehmensdaten gespeichert werden, sodass Geschäftsbenutzer darauf zugreifen und wertvolle Erkenntnisse daraus gewinnen können.
Datenarchitekten entscheiden sich normalerweise zwischen lokalen und in der Cloud gehosteten DWs und achten dabei darauf, welchen Nutzen das Unternehmen von dieser oder jener Lösung hat. Obwohl die Cloud-Umgebung kosteneffizienter ist, sich leichter nach oben oder unten skalieren lässt und nicht auf eine vorgegebene Struktur beschränkt ist, kann sie in Bezug auf Abfragegeschwindigkeit und Sicherheit gegenüber lokalen Lösungen den Kürzeren ziehen. Wir werden weiter unten die beliebtesten Tools auflisten.
Ein Datenarchitekt kann auch einen kollektiven Speicher für Ihr Data Warehouse entwerfen – mehrere Datenbanken, die parallel ausgeführt werden. Dies verbessert die Skalierbarkeit des Warehouse.
Metadaten. Metadaten fügen Daten einen Geschäftskontext hinzu und helfen dabei, sie in verständliches Wissen umzuwandeln. Metadaten definieren, wie Daten geändert und verarbeitet werden können. Sie enthalten Informationen zu allen Transformationen oder Vorgängen, die beim Laden der Quelldaten in das Data Warehouse auf diese angewendet werden.
Tools für den Zugriff auf Data Warehouses. Diese Instrumente unterscheiden sich in ihrer Funktionalität. Abfrage- und Berichtstools werden beispielsweise zum Generieren von Geschäftsanalyseberichten verwendet. Und Data-Mining-Tools automatisieren das Auffinden von Mustern und Korrelationen in großen Datenmengen auf der Grundlage fortgeschrittener statistischer Modellierungstechniken.
Tools zur Data Warehouse-Verwaltung. Das unternehmensweite Data Warehouse befasst sich mit einer Reihe von Management- und Verwaltungsvorgängen. Zu diesem Zweck gibt es spezielle Tools zur Data Warehouse-Verwaltung.
Ausführlichere Informationen finden Sie in unserem speziellen Beitrag „ Enterprise Data Warehouse: EDW-Komponenten, Schlüsselkonzepte und Architekturtypen“ .
Data Warehouses sind ein wichtiger Schritt zur Verbesserung Ihrer Datenarchitektur. Allerdings können Data Warehouses zu sperrig und langsam sein, wenn Sie Hunderte von Benutzern aus verschiedenen Abteilungen haben. In diesem Fall können Data Marts erstellt und implementiert werden, um Geschwindigkeit und Effizienz zu steigern.
Datenmarts
Einfach ausgedrückt ist ein Data Mart ein kleineres Data Warehouse (normalerweise kleiner als 100 GB). Sie werden notwendig, wenn das Unternehmen und die Menge seiner Daten wachsen und die Suche nach Informationen in einem Unternehmens-DW zu langwierig und ineffektiv wird. Data Marts werden vielmehr erstellt, um verschiedenen Abteilungen (z. B. Vertrieb, Marketing, C-Suite) den schnellen und einfachen Zugriff auf relevante Informationen zu ermöglichen.
Es gibt drei Haupttypen von Data Marts.
Abhängige Data Marts werden aus einem Unternehmens-DW erstellt und als primäre Informationsquelle verwendet (auch als Top-down-Ansatz bekannt).
Unabhängige Data Marts sind eigenständige Systeme, die ohne DWs funktionieren und Informationen aus verschiedenen externen und internen Quellen extrahieren (dies wird auch als Top-down-Ansatz bezeichnet).
Hybride Data Marts kombinieren Informationen sowohl aus DW als auch aus anderen operativen Systemen.
Der Hauptunterschied zwischen Data Warehouses und Data Marts besteht darin, dass ein DW ein großes Repository ist, das alle aus mehreren Quellen extrahierten Unternehmensdaten enthält, was die Verarbeitung und Verwaltung von Abfragen erschwert. Ein Data Mart hingegen ist ein kleineres Repository, das eine begrenzte Datenmenge für eine bestimmte Unternehmensgruppe oder Abteilung enthält.
Wenn Sie mehr erfahren möchten, lesen Sie unseren umfassenden Überblick – Data Marts: Was sie sind und warum Unternehmen sie brauchen .
Data Marts ermöglichen es Geschäftsbenutzern zwar, schnell auf die abgefragten Daten zuzugreifen, aber oft reicht es nicht aus, einfach nur die Informationen abzurufen. Die Informationen müssen effizient verarbeitet und analysiert werden, um umsetzbare Erkenntnisse zu erhalten, die die Entscheidungsfindung unterstützen. Dank OLAP-Cubes ist es möglich, Ihre Daten aus verschiedenen Perspektiven zu betrachten. Sehen wir uns an, was das ist.
OLAP und OLAP-Würfel
OLAP oder Online Analytical Processing bezeichnet den Computeransatz, der es Benutzern ermöglicht, mehrdimensionale Daten zu analysieren. Im Gegensatz dazu steht OLTP oder Online Transactional Processing, eine einfachere Methode zur Interaktion mit Datenbanken, die nicht für die Analyse großer Datenmengen aus verschiedenen Perspektiven konzipiert ist.
Herkömmliche Datenbanken ähneln Tabellenkalkulationen und verwenden eine zweidimensionale Struktur aus Zeilen und Spalten. In OLAP werden Datensätze jedoch in mehrdimensionalen Strukturen dargestellt – OLAP-Würfeln . Solche Strukturen ermöglichen eine effiziente Verarbeitung und erweiterte Analyse großer Mengen unterschiedlicher Daten. Ein Bericht der Verkaufsabteilung würde beispielsweise Dimensionen wie Produkt, Region, Vertriebsmitarbeiter, Verkaufsbetrag, Monat usw. enthalten.
Informationen aus DWs werden aggregiert und in den OLAP-Würfel geladen, wo sie vorberechnet werden und für Benutzeranforderungen sofort verfügbar sind.
Innerhalb von OLAP können Daten aus mehreren Perspektiven analysiert werden. Sie können beispielsweise nach unten oder oben analysiert werden, wenn Sie die Hierarchieebene der Datendarstellung ändern und ein mehr oder weniger detailliertes Bild erhalten möchten. Sie können Informationen auch aufteilen, um einen bestimmten Datensatz als separates Arbeitsblatt zu segmentieren, oder ihn in Würfel zerlegen, um einen anderen Würfel zu erstellen. Diese und andere Techniken ermöglichen das Erkennen von Mustern in unterschiedlichen Daten und das Erstellen einer breiten Palette von Berichten.
Es ist wichtig zu beachten, dass OLAP-Cubes für jeden Bericht oder jede analytische Abfrage individuell erstellt werden müssen. Ihre Verwendung ist jedoch gerechtfertigt, da sie, wie bereits erwähnt, erweiterte, mehrdimensionale Analysen ermöglichen, deren Durchführung bisher zu kompliziert war.
Big Data Engineering
Wenn wir über Datentechnik sprechen, können wir Big Data nicht ignorieren. Big Data basiert auf den vier Vs – Volumen, Geschwindigkeit, Vielfalt und Wahrhaftigkeit – und überschwemmt normalerweise große Technologieunternehmen wie YouTube, Amazon oder Instagram. Bei der Big Data-Technik geht es darum, riesige Reservoirs und hoch skalierbare und fehlertolerante verteilte Systeme aufzubauen.
Die Architektur von Big Data unterscheidet sich von der herkömmlichen Datenverarbeitung, da es sich hier um so große Mengen sich schnell ändernder Informationsströme handelt, dass ein Data Warehouse diese nicht verarbeiten kann. Hier kommt ein Data Lake ins Spiel.
Datensee
Ein Data Lake ist ein riesiger Pool zur Speicherung von Daten in nativer, unverarbeiteter Form. Er zeichnet sich durch hohe Agilität aus, da er nicht auf die feste Konfiguration eines Lagers beschränkt ist.
Ein Data Lake verwendet den ELT-Ansatz und beginnt unmittelbar nach der Datenextraktion mit dem Laden der Daten, wobei Rohdaten – oft unstrukturierte Daten – verarbeitet werden.
Der Aufbau eines Data Lakes lohnt sich bei Projekten, die skalierbar sind und eine fortschrittlichere Architektur benötigen. Außerdem ist es sehr praktisch, wenn der Zweck der Daten noch nicht festgelegt wurde. In diesem Fall können Sie Daten schnell laden, speichern und bei Bedarf ändern.
Data Lakes sind auch ein leistungsstarkes Tool für Datenwissenschaftler und ML-Ingenieure, die Rohdaten verwenden, um sie für prädiktive Analysen und maschinelles Lernen vorzubereiten. Lesen Sie mehr über die Datenaufbereitung in unserem separaten Artikel oder sehen Sie sich diese 14-minütige Erklärung an.
Lakes basieren auf großen, verteilten Clustern, die große Datenmengen speichern und verarbeiten können. Ein berühmtes Beispiel für eine solche Data-Lake-Plattform ist Hadoop.
Hadoop und sein Ökosystem
Hadoop ist ein groß angelegtes, Java-basiertes Datenverarbeitungsframework, das riesige Datensätze analysieren kann. Die Plattform ermöglicht es, Datenanalysejobs auf mehrere Server aufzuteilen und parallel auszuführen. Sie besteht aus drei Komponenten:
- Hadoop Distributed File System (HDFS) zur Speicherung großer Datenmengen,
- eine Verarbeitungs-Engine MapReduce und
- ein Ressourcenmanager YARN zur Steuerung und Überwachung von Arbeitslasten.
Darüber hinaus profitiert Hadoop von einem riesigen Ökosystem aus Open-Source-Tools, die seine Fähigkeiten erweitern und verschiedene Herausforderungen von Big Data bewältigen.
Einige beliebte Instrumente im Hadoop-Ökosystem sind
- HBase, eine auf HDFS basierende NoSQL-Datenbank, die Echtzeitzugriff zum Lesen oder Schreiben von Daten bietet;
- Apache Pig, Apache Hive, Apache Drill und Apache Phoenix zur Vereinfachung der Big Data-Erkundung und -Analyse bei der Arbeit mit HBase, HDFS und MapReduce; und
- Apache Zookeeper und Apache Oozie zum Koordinieren von Vorgängen und Planen von Jobs in einem Hadoop-Cluster.
Instrumente zur Streaminganalyse
Tools, die Streaming-Analysen ermöglichen, bilden eine wichtige Gruppe innerhalb des Hadoop-Ökosystems. Dazu gehören
- Apache Spark , eine Rechenmaschine für große Datensätze mit nahezu Echtzeit-Verarbeitungsfunktionen;
- Apache Storm, ein Echtzeit-Computersystem für unbegrenzte Datenströme (Datenströme, die einen Anfang, aber kein definiertes Ende haben und kontinuierlich verarbeitet werden müssen);
- Apache Flink verarbeitet sowohl unbegrenzte als auch begrenzte Datenströme (mit definiertem Anfang und Ende); und
- Apache Kafka, eine Streaming-Plattform zum Versenden, Speichern, Verarbeiten und Integrieren großer Datenmengen.
Alle diese Technologien werden zum Erstellen von Big Data-Pipelines in Echtzeit verwendet. Weitere Informationen erhalten Sie in unseren Artikeln Hadoop vs. Spark: Die wichtigsten Big Data-Tools erklärt und Die Vor- und Nachteile der Apache Kafka Streaming Platform .
Unternehmensdaten-Hub
Wenn eine Big Data-Pipeline nicht richtig gemanagt wird, werden Data Lakes schnell zu Datensümpfen – einer Ansammlung unterschiedlicher Daten, die weder kontrollierbar noch nutzbar ist. Um dieses Problem zu lösen, wurde ein neuer Datenintegrationsansatz entwickelt, der als Data Hub bezeichnet wird.
Enterprise Data Hubs (EDHs) sind die nächste Generation der Datenarchitektur, die darauf abzielt, verwaltete Daten zwischen Systemen zu teilen. Sie verbinden mehrere Informationsquellen, darunter DWs und Data Lakes. Im Gegensatz zu DWs unterstützt der Data Hub alle Arten von Daten und integriert Systeme problemlos . Darüber hinaus kann er innerhalb von Wochen oder sogar Tagen bereitgestellt werden, während die Bereitstellung von DWs Monate oder sogar Jahre dauern kann.
Gleichzeitig bieten Data Hubs zusätzliche Funktionen für Datenmanagement , Harmonisierung, Exploration und Analyse – etwas, das Data Lakes fehlt. Sie sind geschäftsorientiert und auf die dringendsten Bedürfnisse der Organisation zugeschnitten.
Um es zusammenzufassen:
- Ein Data Warehouse wird hauptsächlich für die Verarbeitung strukturierter Daten zum Zweck der Self-Service-Analyse und BI erstellt.
- Ein Data Lake wird aufgebaut, um große Mengen strukturierter und unstrukturierter Daten zu verarbeiten und so Deep Learning, maschinelles Lernen und KI im Allgemeinen zu unterstützen.
- Es entsteht ein Daten-Hub für die Portabilität multistrukturierter Daten, einen einfacheren Austausch und eine effiziente Verarbeitung.
Ein EDH kann mit einem DW und/oder einem Data Lake integriert werden, um die Datenverarbeitung zu optimieren und die alltäglichen Herausforderungen dieser Architekturen zu bewältigen.
Rolle des Dateningenieurs
Nachdem wir nun wissen, womit sich Data Engineering befasst, wollen wir uns nun der Rolle des Data Engineers widmen, der auf die Erstellung von Softwarelösungen rund um Big Data spezialisiert ist.
Juan De Dios Santos, selbst Dateningenieur, definiert diese Rolle folgendermaßen: „ In einem multidisziplinären Team, das Datenwissenschaftler, BI-Ingenieure und Dateningenieure umfasst, besteht die Rolle des Dateningenieurs hauptsächlich darin, die Qualität und Verfügbarkeit der Daten sicherzustellen.“ Er fügt auch hinzu, dass ein Dateningenieur bei der Implementierung oder Entwicklung einer datenbezogenen Funktion (oder eines Produkts) wie etwa einem A/B-Test, der Bereitstellung eines maschinellen Lernmodells oder der Verfeinerung einer vorhandenen Datenquelle mit anderen zusammenarbeiten kann.
Was ein Dateningenieur ist , erklären wir in einem gesonderten Artikel , deshalb fassen wir es hier nur kurz zusammen.
Fähigkeiten und Qualifikationen
Data Engineering liegt an der Schnittstelle zwischen Software-Engineering und Datenwissenschaft, was zu einer Überschneidung der Fähigkeiten führt.
Hintergrund in der Softwareentwicklung. Dateningenieure verwenden Programmiersprachen, um einen zuverlässigen und bequemen Zugriff auf Daten und Datenbanken zu ermöglichen. Juan betont ihre Fähigkeit, mit dem gesamten Softwareentwicklungszyklus zu arbeiten, einschließlich Ideenfindung, Architekturdesign, Prototyping , Testen, Bereitstellung, DevOps , Definition von Metriken und Überwachungssystemen. Dateningenieure sind erfahrene Programmierer, die mindestens Python oder Scala/Java beherrschen.
Datenbezogene Fähigkeiten. „ Ein Dateningenieur sollte Kenntnisse über mehrere Arten von Datenbanken (SQL und NoSQL), Datenplattformen, Konzepte wie MapReduce, Batch- und Stream-Verarbeitung und sogar einige grundlegende Kenntnisse der Datentheorie selbst, z. B. Datentypen und beschreibende Statistiken, haben “, betont Juan.
Fähigkeiten zur Systemerstellung. Dateningenieure benötigen Erfahrung mit verschiedenen Datenspeichertechnologien und Frameworks, die sie zum Erstellen von Datenpipelines kombinieren können apache airflow.
Werkzeugkasten
Ein Dateningenieur sollte über ein tiefes Verständnis vieler Datentechnologien verfügen, um die richtigen für eine bestimmte Aufgabe auswählen zu können.
Airflow . Dieses Python-basierte Workflow-Management-System wurde von Airbnb entwickelt, um seine Datenpipelines neu zu strukturieren. Durch die Migration zu Airflow reduzierte das Unternehmen die Laufzeit seines Experimentation Reporting Framework (ERF) von über 24 Stunden auf etwa 45 Minuten. Unter den Vorteilen von Airflow hebt Juan die Operatoren hervor : „Sie ermöglichen es uns, Bash-Befehle auszuführen, eine SQL-Abfrage auszuführen oder sogar eine E-Mail zu senden.“ Juan betont auch die Fähigkeit von Airflow, Slack-Benachrichtigungen zu senden, die vollständige und umfangreiche Benutzeroberfläche und die allgemeine Reife des Projekts . Juan hingegen missfällt, dass Airflow nur das Schreiben von Jobs in Python ermöglicht .
Cloud Dataflow . Dataflow ist ein cloudbasierter Datenverarbeitungsdienst, der auf die Aufnahme großer Datenmengen und die Verarbeitung mit geringer Latenz durch schnelle parallele Ausführung der Analysepipelines abzielt. Dataflow ist gegenüber Airflow vorteilhaft, da es mehrere Sprachen wie Java , Python, SQL und Engines wie Flink und Spark unterstützt. Es wird auch von Google Cloud gut gepflegt. Juan warnt jedoch, dass die hohen Kosten von Dataflow ein Nachteil sein könnten.
Weitere beliebte Instrumente sind die Stitch- Plattform zum schnellen Verschieben von Daten und Blendo , ein Tool zum Synchronisieren verschiedener Datenquellen mit einem Data Warehouse.
Warehouse-Lösungen. Zu den weit verbreiteten On-Premise-Data-Warehouse-Tools gehören Teradata Data Warehouse , SAP Data Warehouse , IBM db2 und Oracle Exadata . Die beliebtesten Cloud-basierten Data-Warehouse-Lösungen sind Amazon Redshift und Google BigQuery . Sehen Sie sich unbedingt unseren detaillierten Vergleich der besten Cloud-Warehouse-Software an .
Big Data-Tools. Technologien, die ein Dateningenieur beherrschen (oder zumindest kennen) sollte, sind Hadoop und sein Ökosystem, Elastic Stack für End-to-End-Big-Data-Analyse, Data Lakes und mehr.
Dateningenieur vs. Datenwissenschaftler
Es kommt nicht selten vor, dass ein Dateningenieur mit einem Datenwissenschaftler verwechselt wird . Wir haben Alexander Konduforov , einen Datenwissenschaftler mit über zehn Jahren Erfahrung, gebeten, den Unterschied zwischen diesen Rollen zu kommentieren.
„ Sowohl Datenwissenschaftler als auch Dateningenieure arbeiten mit Daten, lösen aber ganz unterschiedliche Aufgaben, verfügen über unterschiedliche Fähigkeiten und verwenden unterschiedliche Tools “, erklärt Alexander. „ Dateningenieure erstellen und verwalten riesige Datenspeicher und wenden technische Fähigkeiten an: Programmiersprachen, ETL-Techniken, Kenntnisse verschiedener Data Warehouses und Datenbanksprachen. Datenwissenschaftler hingegen bereinigen und analysieren diese Daten, gewinnen wertvolle Erkenntnisse daraus, implementieren Modelle für Prognosen und prädiktive Analysen und wenden dabei vor allem ihre mathematischen und algorithmischen Fähigkeiten sowie Algorithmen und Tools für maschinelles Lernen an. “
Alexander betont, dass der Zugriff auf Daten für Datenwissenschaftler aus mehreren Gründen eine schwierige Aufgabe sein kann.
- Um auf enorme Datenmengen zugreifen und sie in angemessener Zeit verarbeiten zu können, sind zusätzlicher Aufwand und spezielle technische Lösungen erforderlich.
- Daten werden normalerweise in vielen verschiedenen Systemen und Formaten gespeichert. Es ist sinnvoll, zunächst Schritte zur Datenaufbereitung durchzuführen und Informationen in ein zentrales Repository wie ein Data Warehouse zu verschieben. Dies ist normalerweise eine Aufgabe für Datenarchitekten und -ingenieure.
- Datenspeicher verfügen über unterschiedliche APIs für den Zugriff darauf. Datenwissenschaftler benötigen Dateningenieure, um die effizienteste und zuverlässigste Pipeline zum Abrufen von Daten zu implementieren.
Wie wir sehen, werden Datenwissenschaftler bei der Arbeit mit Speichersystemen, die von Dateningenieuren erstellt und bedient werden, zu deren „ internen Kunden “. Dort findet ihre Zusammenarbeit statt.