JPO : Webinar d'information sur nos formations → RDV mardi à 17h30.

Apache Spark: Was ist das und wozu dient es?

Apache Spark ist eine einheitliche, ultraschnelle Analyse-Engine für die Verarbeitung großer Datenmengen. Sie ermöglicht es, große Analysen mithilfe von Clustermaschinen durchzuführen. Sie ist vor allem auf Big Data und Machine Learning ausgerichtet.

Was ist Apache Spark?

Für alle, die neugierig sind, werfen wir einen Blick zurück auf die Entstehung von Apache Spark!

Alles beginnt im Jahr 2009. Spark wurde von Matei Zaharia, einem kanadischen Informatiker, während seiner Doktorarbeit an der Universität von Kalifornien in Berkeley entwickelt. Ursprünglich war seine Entwicklung eine Lösung, um die Verarbeitung von Hadoop-Systemen zu beschleunigen.

Heute ist es ein Projekt der Apache Foundation. Seit 2009 haben mehr als 1200 Entwickler zu dem Projekt beigetragen. Einige von ihnen kommen aus namhaften Unternehmen wie Intel, Facebook, IBM, Netflix…

2014 stellt Spark offiziell einen neuen Rekord im Sortieren in großem Maßstab auf. Es gewann den Daytona Grey Sort Wettbewerb, indem es 100 TB Daten in nur 23 Minuten sortierte. Der vorherige Weltrekord lag bei 72 Minuten, aufgestellt von Yahoo mit einem Hadoop MapReduce Cluster mit 2100 Knoten, während Spark nur 206 Knoten verwendet. Das bedeutet, dass es die gleichen Daten dreimal so schnell sortierte und dabei zehnmal weniger Maschinen einsetzte.

Außerdem gibt es zwar keinen offiziellen Wettbewerb im Sortieren von Petabytes, aber Spark geht noch einen Schritt weiter und sortiert 1 PB Daten, was 10 Billionen Datensätzen entspricht, auf 190 Maschinen in weniger als vier Stunden.

Dies war eine der ersten Petabyte-Sortierungen, die jemals in einer öffentlichen Cloud durchgeführt wurden. Das Erreichen dieses Benchmarks ist ein wichtiger Meilenstein für das Spark-Projekt. Es beweist, dass Spark sein Versprechen einhält, als schnellere und skalierbarere Engine für die Verarbeitung von Daten aller Größen, von GB über TB bis hin zu PB, zu dienen.

Matei Zaharia, einer der Schöpfer von Apach Spark, erklärt dir alles in einem Video!

Apache Spark: Das größte Open-Source-Projekt für Big Data

Apache Spark wurde ursprünglich 2009 an der UC Berkeley entwickelt und ist eine einheitliche Analyse-Engine für Big Data und Machine Learning. Das Tool zeichnet sich durch seine beeindruckende Geschwindigkeit und seine Benutzerfreundlichkeit aus.

Seit seiner Einführung wurde Apache Spark von vielen Unternehmen aus einer Vielzahl von Branchen eingesetzt. Internetgiganten wie Netflix, Yahoo und eBay haben Spark eingesetzt und verarbeiten mehrere Petabytes an Daten auf Clustern mit über 8000 Knoten.

Innerhalb weniger Jahre ist Apache Spark schnell zum größten Open-Source-Projekt im Bereich Big Data geworden. Es hat über 1.000 Mitwirkende aus über 250 Organisationen.

Dieses 100%ige Open-Source-Projekt wird von der Apache Software Foundation gehostet. Apache Spark, Spark und das Spark-Logo sind jedoch eingetragene Marken dieser ASF-Stiftung. Als gemeinnützige Organisation muss die ASF Vorsichtsmaßnahmen treffen, wie ihre Marken von Organisationen verwendet werden. Insbesondere muss sie sicherstellen, dass sich ihre Softwareprodukte klar von Produkten anderer Anbieter unterscheiden.

Unternehmen, die Software, Dienstleistungen, Veranstaltungen und andere Produkte auf der Grundlage von Apache Spark anbieten möchten, sollten die Markenpolitik der Stiftung und ihre FAQs beachten. Kommerzielle oder Open-Source-Softwareprodukte dürfen Spark nicht in ihrem Namen verwenden, außer in der Form „powered by Apache Spark“ oder „for Apache Spark“. Dabei müssen strenge Regeln beachtet werden.

Von „Spark“ abgeleitete Namen wie „Sparkly“ sind ebenfalls nicht erlaubt, und Firmennamen dürfen „Spark“ nicht enthalten. Paketbezeichner dürfen das Wort „Spark“ enthalten, aber der vollständige Name, der für das Softwarepaket verwendet wird, muss den Regeln folgen.

Schriftliches Material muss das Projekt als „Apache Spark“ in der ersten Erwähnung erwähnen, und von Spark abgeleitete Logos sind nicht erlaubt. Schließlich sind Domainnamen, die „Spark“ enthalten, ohne schriftliche Genehmigung von Apache Spark PMC nicht erlaubt.

Welche Vorteile hat Spark?

Wie du vielleicht schon bemerkt hast, ist der Hauptvorteil von Spark seine Geschwindigkeit. Spark wurde von Grund auf mit Blick auf die Leistung entwickelt. Das wird durch In-Memory-Computing und andere Optimierungen erreicht.

STARTE DEINE KARRIERE
IM BEREICH DATA SCIENCE

Du bist an einem Quereinstieg in den Bereich Big Data interessiert, weißt aber nicht, wo Du anfangen sollst? Dann solltest Du einen Blick auf unsere Weiterbildungen im Bereich Data Science werfen.

STARTE DEINE KARRIERE
IM BEREICH DATA SCIENCE

Du bist an einem Quereinstieg in den Bereich Big Data interessiert, weißt aber nicht, wo Du anfangen sollst? 

Dann solltest Du einen Blick auf unsere Weiterbildungen im Bereich Data Science werfen.

Es verbraucht weniger Ressourcen als Hadoop und hat ein einfacheres Programmiermodell als Hadoop.

Die Entwickler/innen heben vor allem die Schnelligkeit des Produkts bei der Ausführung von Aufgaben im Vergleich zu MapReduce hervor.

Spark ist auch für seine Benutzerfreundlichkeit und seine ausgefeilten Analysen bekannt. Es verfügt über einfach zu bedienende APIs, um mit großen Datenmengen zu arbeiten.

Darüber hinaus weist Spark eine gewisse Vielseitigkeit auf. Es verfügt über eine Software zur Verarbeitung von Datenströmen, ein System zur Verarbeitung von Graphen. Es ermöglicht auch die vereinfachte Entwicklung von Anwendungen in Java, Scala, Python und R sowie die Durchführung von SQL-Abfragen.

Die Analytics-Engine vereint eine große Anzahl von High-Level-Bibliotheken, die SQL-Abfragen, Datenströme, Machine Learning und Graphverarbeitung unterstützen. Diese Standardbibliotheken ermöglichen es Entwicklern, ihre Produktivität zu steigern. Sie lassen sich leicht in derselben Anwendung kombinieren, um komplexe Arbeitsabläufe zu erstellen.

Schließlich erreicht spark mit einem DAG-Scheduler, einem Abfrageoptimierer und einer physikalischen Ausführungsmaschine eine hohe Leistung bei Batch- und Streaming-Daten.

Die Unterschiede zwischen Spark und MapReduce

Lass uns kurz definieren, was MapReduce ist:

Es handelt sich dabei um ein von Google eingeführtes Programmiermodell. MapReduce ermöglicht den Umgang mit großen Datenmengen. Um sie zu verarbeiten, verteilt es sie auf einen Cluster von Rechnern.

MapReduce ist bei Unternehmen mit großen Datenverarbeitungszentren wie Amazon oder Facebook sehr beliebt. Es wurden verschiedene Frameworks entwickelt, um es zu implementieren. Das bekannteste ist Hadoop, das von der Apache Software Foundation entwickelt wurde.

Außerdem bleibt bei MapReduce die Spezifikation der Iteration dem Programmierer überlassen. Eigene Prozesse für das Management von Fehlerbehebungen führen zu schlechter Leistung. Spark verwendet eine ganz andere Methode. Sie besteht darin, die Datensätze im RAM-Speicher zu platzieren und die Strafe für das Schreiben auf die Festplatte zu vermeiden. So unterstützt Spark die In-Memory-Verarbeitung, was die Leistung von Big-Data-Analyseanwendungen erhöht und somit schneller macht. Es führt die gesamte Datenanalyse im Arbeitsspeicher in Echtzeit aus und greift nur dann auf Festplatten zurück, wenn der Arbeitsspeicher nicht ausreicht. Im Gegensatz dazu schreibt Hadoop nach jeder Operation direkt auf Festplatten und arbeitet schrittweise.

Wer benutzt Spark?

Seit ihrer Veröffentlichung hat die Unified Analytics Engine eine schnelle Annahme durch Unternehmen aus verschiedenen Branchen erfahren. Internet-Größen wie Netflix, Yahoo und ebay haben spark in sehr großem Umfang entwickelt.

Derzeit hat Spark über 1200 Beitragende wie Intel, Facebook, IBM… und ist nun die größte Gemeinschaft in der Welt der Big Data.

Es ermöglicht die Vereinheitlichung aller Big-Data-Spark-Anwendungen. Spark eignet sich auch für Marketingkampagnen in Echtzeit, Online-Produktempfehlungen oder Cybersicherheit.

Was sind die verschiedenen Werkzeuge von Spark?

  • Spark SQL ermöglicht es, Abfragen in SQL-Sprachen auszuführen, um Daten zu verändern und umzuwandeln.
  • Spark streaming bietet seinem User eine Verarbeitung von Streamingdaten. Es nutzt Daten in Echtzeit.
  • Spark graphX verarbeitet Informationen aus Graphen.
  • Spark MLlib ist eine Bibliothek für maschinelles Lernen, die alle klassischen Lernalgorithmen und Hilfsprogramme wie Klassifizierung, Regression, Clustering, kollaborative Filterung und Dimensionsreduktion enthält.

Das Apache spark-Projekt ist immer noch aktuell und entwickelt sich ständig weiter! Es wird von vielen globalen Usern täglich verwendet. Es ist ein wichtiges Werkzeug im Bereich Big Data und Data Science! Wenn du dich für diesen Bereich interessierst, dann zögere nicht, einen Termin mit unseren Experten zu vereinbaren, um mehr über Data Science zu erfahren und den richtigen Kurs für dich zu finden!

Weiterlesen

Möchtest Du informiert bleiben?

Schreib uns Deine E-Mail-Adresse, damit wir Dir die neuesten Artikel zum Zeitpunkt der Veröffentlichung zusenden können!