18th Apr 2024 18 Leseminuten Wie wird man ein Big Data-Ingenieur? Gustavo du Mortier karriere in der datenwissenschaft Datentechnik Inhaltsverzeichnis Was ist Big Data? Big-Data-Ingenieure sind gefragt Vorteile von Big Data Was macht ein Big-Data-Ingenieur? Erforderliche Fähigkeiten und Werkzeuge für den Beruf des Big-Data-Ingenieurs Big Data, SQL und relationale Datenbanken NoSQL-Datenbanken Data Warehousing Big-Data-Plattformen und -Rahmenwerke Wie man eine Big-Data-Plattform pilotiert Im Cockpit Big Data-Tools und -Plattformen Spark Flink Storm Cassandra Pig BigQuery Ihre nächsten Schritte auf dem Weg zum Big Data-Ingenieur Was ist ein Big-Data-Ingenieur, und wie unterscheiden sich seine Fähigkeiten von denen eines Dateningenieurs? In diesem Artikel gehen wir auf die Tools und Plattformen ein, die Sie als Big-Data-Ingenieur beherrschen müssen. Um von einem normalen Dateningenieur zu einem Big-Data-Ingenieur zu werden, müssen Sie sich mehrere neue Fähigkeiten aneignen und lernen, mehrere neue Tools zu verwenden. Die gute Nachricht ist, dass Sie bei Big Data immer noch Ihre guten alten SQL-Kenntnisse einsetzen können, um Informationen aus Datenbeständen zu bearbeiten und abzurufen. Aber zunächst einmal: Warum sollten Sie vom normalen Data Engineering zum Big Data Engineering wechseln? Ich erkläre es anhand eines Beispiels. Um kleine Gruppen von Menschen über kurze Strecken und ohne große Eile zu transportieren, können Sie mit einem Bus fahren. Aber wenn Sie viele Menschen über lange Strecken und in kürzester Zeit transportieren müssen, müssen Sie lernen, ein Flugzeug zu fliegen. Sicher, es wird schwieriger sein. Sie werden mehr Verantwortung haben, aber es wird Ihnen mehr Befriedigung verschaffen und Sie werden viel mehr Geld verdienen. Der gleiche Unterschied besteht zwischen der Arbeit eines herkömmlichen Dateningenieurs und der eines Big-Data-Ingenieurs. Was ist Big Data? Wie Sie sich vielleicht vorstellen können, bezieht sich Big Data auf riesige Datenmengen. Die genaue Definition von "riesig" variiert je nachdem, wen Sie fragen, aber es ist normal, dass Big-Data-Repositories weit über 10 Terabyte an Daten enthalten. Und immer häufiger hört man von Datenmengen in der Größenordnung von Petabytes (1 Petabyte = 1.024 Terabytes). Bei Big Data geht es jedoch nicht nur um große Datenmengen. Es geht auch um eine große Vielfalt an Daten (strukturiert, halbstrukturiert und unstrukturiert) und hohe Verarbeitungs- und Zugriffsgeschwindigkeiten. Diese Eigenschaften werden gemeinhin als "die drei Vs" bezeichnet: Volumen, Geschwindigkeit und Vielfalt. Zu den drei V's kommen in der Regel noch zwei weitere Attribute hinzu: "Veracity", d.h. die Zuverlässigkeit der Daten, ist wichtig, um unvollständige, schmutzige (d.h. fehlerhafte) oder ungenaue Informationen zu vermeiden, und "Value" bezieht sich auf die Bedeutung der Gewinnung wertvoller Erkenntnisse, die fundierte Entscheidungen ermöglichen und Geschäftsmöglichkeiten eröffnen. Die vorgenannten Besonderheiten bedeuten, dass ein Big-Data-Ingenieur neben den herkömmlichen Data-Engineering-Tools wie SQL auch spezielle Frameworks verwenden muss. Wenn Sie ein SQL-Anfänger sind, können Sie mit einem Online-Kurs über SQL-Abfragen beginnen; wenn Sie die Sprache beherrschen wollen, ist ein kompletter SQL-Lernkurs, der Ihnen alles Notwendige beibringt, der richtige Weg. Später in diesem Artikel werden wir auf die wichtigsten Big-Data-Technologien eingehen. Lassen Sie uns zunächst eine andere Frage beantworten: Wie sind die Berufsaussichten für Big-Data-Ingenieure? Big-Data-Ingenieure sind gefragt Die gute Nachricht für Big-Data-Ingenieure ist, dass das Beschäftigungswachstum im Bereich Big Data positive Zahlen aufweist. Und die Nachfrage nach Fachkräften im Bereich Big Data übersteigt das Angebot bei weitem. Als Dateningenieur werden Sie wahrscheinlich einen einigermaßen gut bezahlten Job finden. Aber die Stellenangebote für Big Data zielen auf viel höhere Gehälter ab; Sie können darauf wetten, dass der Begriff "Big Data" in der Zukunft eines jeden Dateningenieurs immer präsenter sein wird. Um Ihnen eine Vorstellung davon zu geben, gibt Glassdoor an, dass (Stand März 2024) das durchschnittliche Grundgehalt eines Dateningenieurs in einem traditionellen Datenbankjob in den Vereinigten Staaten bei 144.00 US-Dollar pro Jahr liegt. Das durchschnittliche Grundgehalt für einen Big-Data-Ingenieur, ebenfalls in den Vereinigten Staaten, betrug 157.000 US-Dollar pro Jahr. Diese Zahlen sind nur Durchschnittswerte. Das jährliche Grundgehalt eines Big-Data-Ingenieurs kann auf bis zu 197.000 $ steigen - und wenn Sie das Glück haben, eine Stelle als Big-Data-Ingenieur bei Google oder Apple zu bekommen, kann Ihr Grundgehalt über 230.000 $ pro Jahr betragen. Alles deutet darauf hin, dass die Gehaltsentwicklung im Bereich Big Data weiter ansteigen und sich vom herkömmlichen Gehaltsniveau für Data Engineering entfernen wird. Vorteile von Big Data Wenn Sie sich fragen, warum Unternehmen bereit sind, so viel mehr Geld für einen Big-Data-Ingenieur zu zahlen, dann liegt die Antwort darin, dass sie auch viel mehr dafür erwarten. Big Data ist mehr als nur große Datensätze - es ist ein Werkzeug, das sehr hochwertige Informationen erzeugt, die Unternehmen einen entscheidenden Vorteil in ihrem Geschäft verschaffen oder sehr große Durchbrüche bei ihren Zielen bewirken können. Um zu erklären, warum das so ist, sehen wir uns ein paar Beispiele an: Unternehmen: Big Data ist ein unverzichtbares Instrument zum Verständnis des Verbraucherverhaltens und zur Vorwegnahme von Markttrends. Die Integration und Korrelation verschiedener massiver Datenquellen - wie Kaufdetails und Supportanfragen, Kreditberichte, Social-Media-Aktivitäten und Umfrageergebnisse - bietet Markteinblicke, die nur durch das Sammeln, Verarbeiten und Analysieren riesiger Informationsmengen gewonnen werden können. Gesundheitswesen: Big Data ist zu einem wichtigen Instrument für das Gesundheitswesen geworden. Die Echtzeit-Überwachung von Sensordaten bei stationären Patienten und die prädiktive Risikoanalyse von entlassenen Patienten sind nur zwei Beispiele für die zahlreichen Anwendungen von Big Data in diesem Bereich. Behörden: Big Data wird u. a. zur Erkennung von Verbrechensmustern, zur Optimierung des Stadtverkehrs und zur Bewältigung von Umweltkrisen eingesetzt. Sie werden auch zur Aufdeckung von Betrug bei der Steuererhebung und zur Verfeinerung von Programmen zur Betreuung von Steuerzahlern eingesetzt. Finanzen: Die Aufdeckung von Betrug ist eine der Hauptanwendungen von Big Data im Finanzwesen. Weitere Einsatzgebiete sind die Kundensegmentierung, die Kostenoptimierung und die Erstellung prädiktiver Finanzmodelle. Bergbau, Öl und Gas: Die intensive Nutzung von Big-Data-Tools zur Verarbeitung großer Mengen seismischer und mikroseismischer Informationen bietet entscheidende Vorteile bei der Erkundung und Entdeckung von Mineral- und Ölvorkommen. Was macht ein Big-Data-Ingenieur? Ein Big-Data-Ingenieur ist im Grunde ein Software-Ingenieur, der auch ein tiefes Verständnis für Datentechnik haben muss. Ein Großteil der Arbeit eines Big-Data-Ingenieurs besteht darin, Softwaresysteme zu entwerfen und zu implementieren, die in der Lage sind, riesige Datenmengen zu sammeln und zu verarbeiten. Viele dieser Systeme umfassen ETL-Prozesse (Extract-Transform-Load), bei denen Geschäftsregeln verwendet werden, um die "rohen" (unverarbeiteten) Daten zu bereinigen und zu organisieren und sie für die Speicherung und Verwendung in Analyse- und maschinellen Lernprozessen (ML) vorzubereiten. Zu den weiteren Aufgaben eines Big-Data-Ingenieurs gehören: Entwurf von Architekturen, die für die Verarbeitung großer Datenmengen geeignet sind und mit den Geschäftszielen in Einklang stehen. Erforschung neuer Methoden zur Verbesserung der Datenqualität und -sicherheit. Erstellen von Datenlösungen auf der Grundlage von Big-Data-Ökosystemen (siehe unten) und deren Entwicklungs- und Visualisierungstools. Zusammenarbeit mit Datenanalysten, Datenwissenschaftlern und anderen Fachleuten, um den Zugang zu und die Visualisierung der Ergebnisse von Big-Data-Prozessen zu ermöglichen. Es gibt gemeinsame Verantwortungsbereiche zwischen diesen Fachleuten, so dass es sich lohnt, einen Vergleich zwischen der Arbeit eines Datenanalysten und eines Dateningenieurs anzustellen. Erforderliche Fähigkeiten und Werkzeuge für den Beruf des Big-Data-Ingenieurs Ein Big-Data-Ingenieur sollte einen Bachelor-Abschluss in einem Bereich der Informationstechnologie (IT) oder Datenwissenschaft haben. Ein Master-Abschluss in Big-Data-Systemen oder -Analytik kann eine große Hilfe sein, um besser bezahlte Positionen und mehr Möglichkeiten für den beruflichen Aufstieg zu bekommen. Am Ende dieses Artikels schlage ich einige Karrierewege vor, die Sie auf Ihrem Weg zum Big-Data-Ingenieur begleiten. Neben ihrem Abschluss müssen Big-Data-Ingenieure über mehrere wesentliche Fähigkeiten verfügen. Eine gründliche Kenntnis von Algorithmen, Strukturen und bestimmten Programmiersprachen ist von entscheidender Bedeutung. Ebenso wichtig ist ein grundlegendes Verständnis von verteilten Systemen. Um mit großen Datenmengen zu arbeiten und einen effizienten Zugang zu deren Erkenntnissen zu ermöglichen, benötigt der Big-Data-Ingenieur weitaus vielfältigere Fähigkeiten und Tools als ein herkömmlicher Dateningenieur. Ein herkömmlicher Dateningenieur kann durchaus Karriere machen, wenn er nur SQL kennt und die gängigsten Datenbankmanagementsysteme verwaltet. (Übrigens: Wenn Sie eine Stelle als SQL-Programmierer anstreben, sollten Sie sich auf den SQL-Bewertungstest vorbereiten. Halten Sie unseren SQL-Grundlagen-Spickzettel bereit, wenn Sie sich nicht mehr an die Details eines bestimmten SQL-Befehls erinnern können). Neben den SQL-Kenntnissen für Big Data muss ein Big-Data-Ingenieur auch über NoSQL-Datenbanken, strukturierte und unstrukturierte Daten, Data Warehouses (und deren Varianten wie Data Marts und Data Lakes) und so genannte Big-Data-Frameworks Bescheid wissen. Schauen wir uns an, wie jede dieser Fähigkeiten die tägliche Arbeit eines Big-Data-Ingenieurs beeinflusst. Big Data, SQL und relationale Datenbanken Die strukturierte Abfragesprache (Structured Query Language, SQL) wurde mit relationalen Datenbanken geboren und ist eng mit ihnen verbunden. Jeder Fachmann mit herkömmlichen Data-Engineering-Zertifizierungen weiß, dass relationale Datenbanken in erster Linie für die Speicherung strukturierter Informationen und die Wahrung der Datenintegrität bei der Transaktionsverarbeitung konzipiert sind. Das macht sie ungeeignet, wenn die Prioritäten auf Skalierbarkeit, Zugriffsgeschwindigkeit und Echtzeitströme gelegt werden - was beim Wechsel von herkömmlichen Datenbanken zu Big-Data-Repositories der Fall ist. Bedeutet das, dass das Erlernen der Arbeit mit SQL-Datenbanken umsonst war, wenn Sie ein Big-Data-Ingenieur werden? Ganz und gar nicht. Big-Data-Ingenieure werden SQL noch viele Jahre lang für die Datenanalyse verwenden. Die Zukunft der SQL-Sprache ist also rosig. Sie ist so weit verbreitet, dass sie zum De-facto-Standard für die Datenverwaltung geworden ist - ob groß oder klein. Die neuen Technologien, die speziell für Big Data entwickelt wurden, können diese Tatsache nicht ignorieren. Deshalb bieten sie alle Tools für den Datenzugriff an, mit denen Sie Big-Data-Repositories so betrachten können, als hätten sie eine relationale Datenbankstruktur. Im Folgenden werden einige der SQL-basierten Technologien vorgestellt, die in Big-Data-Umgebungen eingesetzt werden. NoSQL-Datenbanken NoSQL (was so viel wie "nicht nur SQL" bedeutet) ist eine Familie von Datenbanktechnologien, die darauf abzielen, die Einschränkungen relationaler Datenbanken zu überwinden und die oben beschriebene Geschwindigkeit, das Volumen und die Vielfalt von Big Data zu ermöglichen. Aus diesem Grund sind sie bei der Implementierung von Big-Data-Lösungen oft relationalen Datenbanken vorzuziehen. Obwohl sich NoSQL-Datenbanken in ihren Implementierungsformen unterscheiden, weisen sie alle einige gemeinsame Merkmale auf: Schema-los: NoSQL-Datenbanken können Informationen speichern, ohne dass die Datenstruktur vordefiniert sein muss - im Gegensatz zu relationalen Datenbanken, bei denen das Schema (Tabellen und ihre Beziehungen) definiert werden muss, bevor sie mit Informationen gefüllt werden können. Skalierbarkeit: Mehrere NoSQL-Datenbankarchitekturen wurden mit dem Hauptziel der horizontalen Skalierbarkeit entwickelt. Das bedeutet, dass eine NoSQL-Datenbank auf einem verteilten Dateisystem (z. B. dem verteilten Dateisystem Hadoop) basieren kann, dessen Datenvolumen einfach durch Hinzufügen weiterer Knoten wachsen kann. Echtzeit: Mehrere NoSQL-Datenbankimplementierungen (z. B. Firebase, Redis oder DynamoDB) zeichnen sich durch hohe Leistung, Skalierbarkeit und Verfügbarkeit aus und erfüllen damit die grundlegenden Anforderungen jeder Echtzeit-Datenanwendung. Trotz ihres Namens verwenden NoSQL-Datenbanken SQL-Dialekte, was den Gedanken unterstreicht, dass SQL auch dann noch relevant ist, wenn keine relationalen Datenbanken verwendet werden. Data Warehousing Data Warehouses entstanden vor mehreren Jahrzehnten als eine Möglichkeit, Informationen zu sammeln und für die analytische Verarbeitung zu zentralisieren. Sie weisen einige Ähnlichkeiten mit Big Data auf: Beide Technologien sind darauf ausgelegt, große Datenmengen zu speichern und die Richtigkeit der Informationen zu gewährleisten. Außerdem stellen sie sicher, dass aus diesen großen Datenmengen ein geschäftlicher Nutzen gezogen wird. Der Unterschied zwischen Big Data und Data Warehousing besteht darin, dass Data Warehouses auf relationalen Schemata aufgebaut sind und mit Informationen aus Transaktionssystemen (die ebenfalls auf relationalen Datenbanken basieren) gespeist werden. Sie sind nicht auf die Verarbeitung unstrukturierter Informationen und noch weniger auf die Verarbeitung von Echtzeitdaten vorbereitet. Obwohl Big Data eine modernere und umfassendere Technologie ist als ein Data Warehouse, wird letzteres nicht verschwinden oder überflüssig werden. Beide Technologien ergänzen sich und eignen sich für unterschiedliche Anwendungsfälle. Wenn Sie strukturierte Daten (z. B. Verkaufs- oder Produktionsdaten) analytisch verarbeiten müssen, ist ein Data Warehouse die beste Lösung. Angenommen, Sie müssen unterschiedliche und unstrukturierte Daten wie E-Mails, Daten aus sozialen Netzwerken, Echtzeit-Anwendungsprotokolle oder Umfrageergebnisse analysieren. In diesem Fall sollten Sie auf jeden Fall eine Big-Data-Lösung anstreben. Es gibt auch Data-Warehouse-Technologien, die mit Big-Data-Repositories arbeiten und die Kluft zwischen den beiden Technologien überbrücken. Eines der beliebtesten ist DBT, ein Datenmodellierungs-/Analyse-Tool, das sich mit Cloud-Datenanbietern integrieren lässt und die Datenumwandlung innerhalb des Data Warehouse durchführt. Big-Data-Plattformen und -Rahmenwerke Bei relationalen Datenbanken gibt es eine zentrale Einheit, das so genannte relationale Datenbankmanagementsystem (RDBMS), das auf einem Server installiert ist und die in Datenbanken mit vordefinierten Strukturen (Schemata) gespeicherten Informationen verwaltet. Das RDBMS bietet Mechanismen für die Abfrage und Aktualisierung der in den Datenbanken gespeicherten Informationen, meist durch SQL-Befehle. Die gesamte Verantwortung für die Datenspeicherung und -nutzung liegt beim monolithischen RDBMS. Bei Big Data sind die Zuständigkeiten auf verschiedene Einheiten verteilt, die für die Speicherung, Verarbeitung, Koordinierung und Nutzung der Daten verantwortlich sind. Vor etwas mehr als einem Jahrzehnt wurde dieses Konzept von der Apache Software Foundation in einem Ökosystem namens Hadoop umgesetzt. Der grundlegende Bestandteil eines jeden Big-Data-Ökosystems (und insbesondere von Hadoop) ist ein Dateisystem, das in der Lage ist, riesige Mengen an Informationen zu speichern. Dieses Dateisystem kann sich nicht auf eine einzige physische Speichereinheit stützen. Stattdessen verwendet es mehrere Knoten, die koordiniert arbeiten können, um Skalierbarkeit, Redundanz und Fehlertoleranz zu gewährleisten. In Hadoop wird dieses Dateisystem HDFS (Hadoop Distributed File System) genannt. Die Verarbeitung derart großer Datenmengen erfordert ein Planungsmodell, das auf parallel ablaufenden Aufgaben basiert. Ihre Ausführung wird auf mehrere Verarbeitungsknoten verteilt. In Hadoop wird dieses Programmiermodell MapReduce genannt und basiert auf der Java-Technologie. Bei so vielen Speicher- und Verarbeitungsknoten darf ein Teil nicht fehlen: ein Koordinator oder Orchestrator, der für Ordnung im Big-Data-Ökosystem sorgt und sicherstellt, dass jede Aufgabe die benötigten Ressourcen erhält. In Hadoop wird dieses Element YARN (Yet Another Resource Negotiator) genannt. In jedem Big-Data-Ökosystem werden diese drei grundlegenden Teile - Speicherung, Verarbeitung und Koordination - durch Tools ergänzt, die es ermöglichen, die im Ökosystem befindlichen Daten zu nutzen. Viele dieser Tools wurden entwickelt, um auf Hadoop zu laufen, das Ökosystem zu ergänzen und einige seiner Unzulänglichkeiten zu verbessern. Am Rande sei erwähnt, dass Hadoop die "altgedienteste" Big-Data-Plattform ist; sie wurde in mehreren Aspekten von neueren und effizienteren Tools überholt. Einer der wichtigsten negativen Aspekte von Hadoop, den andere Technologien zu lösen versucht haben, ist die hohe Komplexität und die Kosten für Installation, Betrieb, Anpassung und Skalierung. Wie man eine Big-Data-Plattform pilotiert Kehren wir zum Konzept des Busfahrers und des Piloten einer Fluggesellschaft vom Anfang dieses Artikels zurück. Wenn Sie ein herkömmlicher Dateningenieur sind, sind Sie wahrscheinlich daran gewöhnt, jeden Arbeitstag damit zu beginnen, Ihren bevorzugten SQL-Client zu öffnen, eine Verbindung zu den Datenbanken herzustellen, mit denen Sie arbeiten müssen, und SQL-Befehle auszuführen. Das ist fast so, als ob der Busfahrer den Schlüssel umdreht, um den Motor zu starten, die Tür öffnet, damit die Fahrgäste einsteigen können, und sie an ihr Ziel bringt. Doch als Big-Data-Ingenieur stehen Sie am Steuer eines gigantischen Datenökosystems. Daten und Prozesse sind über Hunderte oder Tausende von Knotenpunkten verteilt, die sorgfältig koordiniert werden müssen, um den Nutzern einen Mehrwert zu bieten. Stellen Sie sich vor, Sie wären Pilot einer Fluggesellschaft: Bevor Sie die Türen öffnen, damit die Passagiere einsteigen und ihre Reise beginnen können, müssen Sie sicherstellen, dass mehrere Systeme voll funktionsfähig sind und koordiniert arbeiten. Das Leben Ihrer Passagiere und Ihr eigenes hängen davon ab. Sind Sie sicher, dass Sie den Weg des Piloten einschlagen wollen? Im Cockpit Wenn Sie dies noch lesen, haben Sie die vorherige Frage sicher mit Ja beantwortet. Herzlichen Glückwunsch! Schauen wir uns nun den Weg an, den Sie einschlagen müssen, um Pilot einer Big-Data-Maschine zu werden. In Ihrem Cockpit finden Sie eine große Anzahl und Vielfalt von Tools, die für die Nutzung von Daten in Big-Data-Repositories entwickelt wurden. Nehmen wir nur eines von ihnen, Hive. Dabei handelt es sich um ein Framework, mit dem Sie große Datenmengen mit einer Abfragesprache namens HQL (HiveQL), die auf SQL basiert, leicht manipulieren können. HQL wandelt insbesondere SQL-Befehle in MapReduce-Aufträge um, so dass sie in einem Hadoop-Cluster ausgeführt werden können. Die Abfragesprache von Hive weist viele Ähnlichkeiten mit Standard-SQL auf. Neben dem SELECT-Befehl mit all seinen Klauseln (WHERE, GROUP BY, ORDER BY, LIMIT usw.) unterstützt sie DML-Befehle (wie INSERT, UPDATE und DELETE) und DDL-Befehle (wie CREATE, ALTER und DROP) zur Verwaltung eines Pseudo-Tabellenschemas. Wenn ein Befehl in Hive ausgeführt wird, z. B. ein SELECT ... FROM ..., gibt Hive die Ergebnisse nicht sofort zurück. Stattdessen sendet es einen MapReduce-Auftrag an YARN. YARN stellt sicher, dass der Auftrag über die erforderlichen Ressourcen (Verarbeitung, Speicher, Arbeitsspeicher) verfügt und stellt ihn in eine Warteschlange zur Ausführung. Hive wartet, bis der Auftrag abgeschlossen ist, bevor es die Abfrageergebnisse an Sie zurücksendet. Für Sie sieht es so aus, als hätten Sie die SELECT-Abfrage in Ihrem bevorzugten SQL-Client ausgeführt. Doch dahinter verbirgt sich eine riesige Maschinerie, die diese einfache Anfrage bearbeitet. Big Data-Tools und -Plattformen Wir haben gesagt, dass Hadoop eine ältere Plattform ist und von anderen, moderneren und effizienteren Plattformen überholt wurde. Das bedeutet jedoch nicht, dass Hadoop veraltet ist. Das Gute an Big Data ist, dass seine Technologien in der Open-Source-Welt entstanden sind, so dass sich die Big-Data-Ökosysteme schnell und stetig weiterentwickeln. Neben mehreren großen Unternehmen gibt es auch Entwicklergemeinschaften, die diese Entwicklung vorantreiben, auf bestehenden Lösungen aufbauen und diese ständig verbessern und ergänzen. Nachfolgend finden Sie einige der Tools und Technologien, die sich als die sichersten Einstiegsmöglichkeiten in die Big-Data-Entwicklung erweisen. Spark Spark wurde 2014 entwickelt, um die Leistungseinschränkungen von MapReduce zu beseitigen. Seine wichtigste Optimierung war die Fähigkeit, auf In-Memory-Clustern zu laufen, anstatt die Ergebnisse auf der Festplatte zu speichern. Spark unterstützt mehrere gängige Sprachen (Python, Java, Scala und R) und enthält Bibliotheken für eine Vielzahl von Aufgaben, von SQL über Streaming bis hin zum maschinellen Lernen. Es kann auf einem Laptop oder auf einem Cluster mit Tausenden von Servern ausgeführt werden. Dies erleichtert den Einstieg mit einer kleinen Implementierung und die Skalierung auf eine massive Datenverarbeitung für eine Vielzahl von Anwendungen. Obwohl Spark für die Ausführung auf mehreren Clustermanagern konzipiert wurde, wurde es in der Vergangenheit hauptsächlich mit YARN verwendet und in die meisten Hadoop-Distributionen integriert. Im Laufe der Jahre hat es mehrere größere Iterationen von Spark gegeben. Mit dem Aufstieg von Kubernetes als beliebter Scheduler-Mechanismus ist Spark nun ein erstklassiger Bürger von Kubernetes geworden und hat kürzlich seine Abhängigkeit von Hadoop aufgehoben. Für den Benutzer stellt Apache Spark ein Ökosystem von Komponenten bereit, die auf verschiedene Anwendungsfälle zugeschnitten sind. Die Kernkomponente ist Spark Core, die Ausführungsmaschine der Spark-Plattform, die die Infrastruktur für In-Memory-Computing sowie grundlegende E/A-, Planungs-, Überwachungs- und Fehlerverwaltungsfunktionen bereitstellt. Um Spark Core herum befinden sich Komponenten mit spezifischeren Funktionen, wie Spark SQL, Spark Streaming, MLlib, SparkR und GraphX. Flink Apache Flink ist eine Datenverarbeitungs-Engine mit hohem Durchsatz und geringer Latenz, bei der In-Memory-Berechnungen, hohe Verfügbarkeit, die Eliminierung von Single Points of Failure und horizontale Skalierbarkeit im Vordergrund stehen. Flink bietet Algorithmen und Datenstrukturen, die sowohl begrenzte als auch unbegrenzte Verarbeitung unterstützen, und das alles über eine einzige Programmierschnittstelle. Anwendungen, die unbegrenzte Daten verarbeiten, laufen kontinuierlich, während Anwendungen, die begrenzte Daten verarbeiten, ihre Ausführung beenden, wenn sie alle Eingabedaten verbraucht haben. Storm Apache Storm ermöglicht die zuverlässige Verarbeitung unbegrenzter Datenströme und leistet für die Echtzeitverarbeitung das, was Hadoop für die Stapelverarbeitung geleistet hat. Seine wichtigsten Eigenschaften sind die Einfachheit, die Fähigkeit, mit jeder Programmiersprache verwendet zu werden, und ein entwicklerfreundlicher Ansatz zur Datenmanipulation. Zu den Anwendungsfällen von Storm gehören Echtzeitanalysen, maschinelles Online-Lernen, kontinuierliches Rechnen, verteilte RPC (Remote Procedure Calls) und ETL. Storm gehört zu den schnellsten Big-Data-Ausführungsmaschinen, die mehr als 1 Million Tupel pro Sekunde und Knoten verarbeiten können. Zu seinen weiteren Qualitäten zählen hohe Skalierbarkeit, Fehlertoleranz, garantierte Datenverarbeitung sowie einfache Konfiguration und Nutzung. Cassandra Apache Cassandra ist eine spaltenorientierte NoSQL-Datenbank, die speziell für Big Data entwickelt wurde. Dank der Verwendung von Wide-Column-Storage ist sie in der Lage, große Datenmengen über Cluster von Commodity-Servern zu verarbeiten und bietet eine hohe Verfügbarkeit ohne Single Points of Failure. Cassandra verwendet eine Peer-to-Peer-Architektur, die die Datenverteilung erleichtert und eine horizontale Skalierung ermöglicht, so dass wachsende Datenmengen und Datenverkehr problemlos bewältigt werden können. Darüber hinaus bietet Cassandra skalierbare Konsistenz, d. h. Kunden können für jeden Vorgang genau den Grad der Konsistenz wählen, den sie benötigen. Pig Apache Pig ist eine High-Level-Plattform für die Erstellung von MapReduce-Programmen, die auf Hadoop laufen. Es verwendet eine einfache Skriptsprache namens Pig Latin. Diese Sprache ermöglicht es Entwicklern, komplexe Datenverarbeitungsaufgaben prägnant und einfach zu schreiben, sie von der Komplexität von MapReduce zu abstrahieren und einige Ähnlichkeiten zu SQL zu bieten. Entwickler können die Funktionalität von Pig Latin mit UDFs (benutzerdefinierten Funktionen) erweitern, die in anderen Sprachen wie Java, Python, JavaScript oder Ruby geschrieben werden können. Die Pig-Engine übersetzt Pig-Latin-Skripte in eine Reihe von MapReduce-Aufgaben, die auf Hadoop-Clustern ausgeführt werden können, so dass sie große Datenmengen verarbeiten können. BigQuery BigQuery ist ein kostengünstiges, serverloses Data Warehouse im Petabyte-Bereich, das Teil der Google Cloud Platform ist. Es handelt sich um einen vollständig verwalteten Dienst, d. h. seine Nutzer müssen sich nicht um Speicher-, Verarbeitungs- oder Netzwerkressourcen kümmern. Seit seiner Einführung im Jahr 2010 hat Google Big Query in Unternehmen, die große Datenmengen schnell analysieren und ihre Ergebnisse mit öffentlich verfügbaren statistischen Daten vergleichen müssen, viele Fans gewonnen. Heute verlangen viele Unternehmen von ihren Bewerbern für Datenjobs BigQuery-Kenntnisse. Ein wichtiger Bestandteil von BigQuery sind die Fensterfunktionen, auch analytische Funktionen oder OVER-Funktionen genannt, die seit 2003 Teil des SQL-Standards sind. Das Erlernen der Verwendung von Fensterfunktionen in Google BigQuery ist ein wichtiger Vorteil für einen Datenanalysten oder eine ähnliche Rolle. Hier sind einige nützliche Ressourcen: Google BigQuery SQL-Syntax: Ein umfassender Leitfaden Warum brauchen Sie SQL, um mit Google BigQuery zu arbeiten? Ein Überblick über die SQL-Textfunktionen in Google BigQuery Ihre nächsten Schritte auf dem Weg zum Big Data-Ingenieur Wie bereits erwähnt, haben die meisten Dateningenieure mindestens einen Bachelor-Abschluss in einem IT- oder Datenbereich. Anschließend können Sie einen Master-Abschluss in Big Data erwerben, indem Sie einen der Dutzenden online verfügbaren Kurse wählen. Hunderte von Big-Data-Kursen und -Zertifizierungen sind ebenfalls verfügbar, viele davon werden direkt von Technologieunternehmen wie Google oder IBM angeboten. Das Wichtigste ist, dass viele von ihnen kostenlos sind. Es ist auch eine gute Idee, Ihr SQL-Wissen auf dem neuesten Stand zu halten, wofür ich Ihnen unser Alle für immer SQL-Paket empfehle. Es ermöglicht Ihnen den Zugang zu allen aktuellen und zukünftigen Kursen von LearnSQL.de, garantiert Ihre Kenntnisse in den wichtigsten SQL-Dialekten und bietet Ihnen Tausende von interaktiven Übungen. Sobald Sie über Grundkenntnisse in Big Data verfügen - auch wenn Sie noch nicht genügend Diplome und Zertifizierungen erworben haben, um Ihren Lebenslauf zu füllen - können Sie damit beginnen, Erfahrungen in realen Big-Data-Projekten zu sammeln. Dazu benötigen Sie große Big-Data-Repositories, und die können Sie nicht allein aufbauen. Glücklicherweise gibt es eine Vielzahl kostenloser Big-Data-Sets, auf die Sie zurückgreifen können, um Ihr Wissen in die Praxis umzusetzen. Die Welt von Big Data entwickelt sich ständig weiter, also glauben Sie nicht, dass Sie sich zurücklehnen und entspannen können, sobald Sie genug Abschlüsse, Zertifizierungen und Übungsstunden gesammelt haben. Sie müssen immer auf dem Laufenden bleiben, Blogs lesen, Big-Data-Influencern folgen und sich aktiv an Communities von Big-Data-Enthusiasten beteiligen. Wer weiß - vielleicht werden Sie selbst zu einem Datenguru, der der Welt hilft, die gigantischen Informationsmengen, die in ihren Netzen zirkulieren, besser zu nutzen! Tags: karriere in der datenwissenschaft Datentechnik