Vorwort
Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com
Willkommen zu dieser ersten Ausgabe von Spark: The Definitive Guide! Wir freuen uns, dir die derzeit umfassendste Ressource zu Apache Spark präsentieren zu können. Dabei konzentrieren wir uns besonders auf die neue Generation der Spark-APIs, die mit Spark 2.0 eingeführt wurden.
Apache Spark ist derzeit eines der beliebtesten Systeme für die Verarbeitung großer Datenmengen, mit APIs in mehreren Programmiersprachen und einer Fülle von eingebauten und Drittanbieter-Bibliotheken. Obwohl das Projekt bereits seit mehreren Jahren existiert - zunächst als Forschungsprojekt, das 2009 an der UC Berkeley gestartet wurde, und seit 2013 bei der Apache Software Foundation - entwickelt die Open-Source-Gemeinschaft immer leistungsfähigere APIs und High-Level-Bibliotheken für Spark, so dass es noch viel über das Projekt zu schreiben gibt. Wir haben uns aus zwei Gründen entschieden, dieses Buch zu schreiben. Erstens wollten wir das umfassendste Buch über Apache Spark vorlegen, das alle grundlegenden Anwendungsfälle mit einfach auszuführenden Beispielen abdeckt. Zweitens wollten wir vor allem die "strukturierten" APIs auf höherer Ebene erkunden, die in Apache Spark 2.0 fertiggestellt wurden - DataFrames, Datasets, Spark SQL und Structured Streaming -, die in älteren Büchern über Spark nicht immer enthalten sind. Wir hoffen, dass dieses Buch dir eine solide Grundlage bietet, um moderne Apache Spark-Anwendungen zu schreiben und dabei alle verfügbaren Werkzeuge des Projekts zu nutzen.
In diesem Vorwort erzählen wir dir ein wenig über unseren Hintergrund und erklären, für wen dieses Buch gedacht ist und wie wir das Material geordnet haben. Außerdem möchten wir uns bei den zahlreichen Personen bedanken, die bei der Bearbeitung und Durchsicht dieses Buches geholfen haben und ohne die es nicht möglich gewesen wäre.
Über die Autoren
Die beiden Autoren des Buches beschäftigen sich schon seit langem mit Apache Spark, deshalb freuen wir uns sehr, dir dieses Buch vorstellen zu können.
Bill Chambers begann 2014, Spark für verschiedene Forschungsprojekte zu nutzen. Derzeit ist Bill Produktmanager bei Databricks, wo er sich darauf konzentriert, Benutzern das Schreiben verschiedener Arten von Apache Spark-Anwendungen zu ermöglichen. Bill bloggt außerdem regelmäßig über Spark und hält Vorträge auf Konferenzen und Meetups zu diesem Thema. Bill hat einen Master-Abschluss in Informationsmanagement und -systemen von der UC Berkeley School of Information.
Matei Zaharia startete das Spark-Projekt im Jahr 2009 während seiner Zeit als Doktorand an der UC Berkeley. Matei arbeitete zusammen mit anderen Berkeley-Forschern und externen Mitarbeitern an der Entwicklung der Spark-Kern-APIs und dem Ausbau der Spark-Community und ist auch weiterhin an neuen Initiativen wie den strukturierten APIs und dem strukturierten Streaming beteiligt. Im Jahr 2013 gründete Matei zusammen mit anderen Mitgliedern des Berkeley Spark-Teams Databricks, um das Open-Source-Projekt weiter auszubauen und kommerzielle Angebote zu machen. Heute arbeitet Matei weiterhin als Chief Technologist bei Databricks und hat außerdem eine Stelle als Assistenzprofessor für Informatik an der Stanford University inne, wo er an Großsystemen und KI forscht. Matei erhielt 2013 seinen Doktortitel in Informatik von der UC Berkeley.
Für wen dieses Buch ist
Wir haben dieses Buch vor allem für Data Scientists und Data Engineers konzipiert, die Apache Spark nutzen wollen. Die beiden Rollen haben leicht unterschiedliche Bedürfnisse, aber in der Realität umfasst die meiste Anwendungsentwicklung ein bisschen von beidem, daher denken wir, dass das Material in beiden Fällen nützlich sein wird. Unserer Meinung nach konzentriert sich die Arbeit eines Datenwissenschaftlers eher auf die interaktive Abfrage von Daten, um Fragen zu beantworten und statistische Modelle zu erstellen, während sich die Arbeit eines Dateningenieurs auf das Schreiben von wartbaren, wiederholbaren Produktionsanwendungen konzentriert - entweder um die Modelle des Datenwissenschaftlers in der Praxis zu nutzen oder um Daten für weitere Analysen vorzubereiten (z. B. durch den Aufbau einer Dateneingabepipeline). Bei Spark sehen wir jedoch oft, dass diese Rollen verschwimmen. So können Datenwissenschaftler/innen ohne großen Aufwand Produktionsanwendungen verpacken und Dateningenieur/innen nutzen interaktive Analysen, um ihre Daten zu verstehen und zu untersuchen, um Pipelines zu erstellen und zu pflegen.
Obwohl wir versucht haben, alles zu bieten, was Datenwissenschaftler und Ingenieure für den Einstieg brauchen, gab es einige Dinge, auf die wir uns in diesem Buch nicht konzentrieren konnten. Erstens enthält dieses Buch keine ausführlichen Einführungen in einige der Analysetechniken, die du in Apache Spark verwenden kannst, wie z. B. maschinelles Lernen. Stattdessen zeigen wir dir, wie du diese Techniken mit Hilfe von Bibliotheken in Spark nutzen kannst, wobei wir davon ausgehen, dass du bereits über grundlegende Kenntnisse im maschinellen Lernen verfügst. Es gibt viele eigenständige Bücher, die diese Techniken detailliert behandeln. Wir empfehlen daher, mit diesen Büchern zu beginnen, wenn du mehr über diese Bereiche erfahren möchtest. Zweitens konzentriert sich dieses Buch mehr auf die Anwendungsentwicklung als auf den Betrieb und die Verwaltung (z. B. wie man einen Apache Spark-Cluster mit Dutzenden von Benutzern verwaltet). Nichtsdestotrotz haben wir versucht, in den Teilen V und VI des Buches umfassendes Material zur Überwachung, Fehlersuche und Konfiguration aufzunehmen, um Ingenieure dabei zu unterstützen, ihre Anwendung effizient zum Laufen zu bringen und die tägliche Wartung zu bewältigen. Schließlich wird in diesem Buch weniger Wert auf die älteren, untergeordneten APIs in Spark gelegt - insbesondere RDDs und DStreams -, um die meisten Konzepte mit den neueren, höher strukturierten APIs einzuführen. Daher ist das Buch vielleicht nicht die beste Wahl, wenn du eine alte RDD- oder DStream-Anwendung warten musst, aber es ist eine gute Einführung in das Schreiben neuer Anwendungen.
In diesem Buch verwendete Konventionen
Die folgenden typografischen Konventionen werden in diesem Buch verwendet:
- Kursiv
-
Weist auf neue Begriffe, URLs, E-Mail-Adressen, Dateinamen und Dateierweiterungen hin.
Constant width
-
Wird für Programmlistings sowie innerhalb von Absätzen verwendet, um auf Programmelemente wie Variablen- oder Funktionsnamen, Datenbanken, Datentypen, Umgebungsvariablen, Anweisungen und Schlüsselwörter hinzuweisen.
Constant width bold
-
Zeigt Befehle oder anderen Text an, der vom Benutzer wortwörtlich eingetippt werden sollte.
Constant width italic
-
Zeigt Text an, der durch vom Benutzer eingegebene Werte oder durch kontextabhängige Werte ersetzt werden soll.
Tipp
Dieses Element steht für einen Tipp oder eine Anregung.
Hinweis
Dieses Element steht für einen allgemeinen Hinweis.
Warnung
Dieses Element weist auf eine Warnung oder einen Warnhinweis hin.
Code-Beispiele verwenden
Wir freuen uns sehr, dass wir dieses Buch so gestaltet haben, dass der gesamte Code auf echten Daten ausgeführt werden kann. Wir haben das gesamte Buch mit Databricks Notebooks geschrieben und die Daten und das dazugehörige Material auf GitHub veröffentlicht. Das bedeutet, dass du den gesamten Code ausführen und bearbeiten kannst, während du ihm folgst, oder ihn in deine eigenen Anwendungen kopieren kannst.
Wir haben versucht, wo immer möglich reale Daten zu verwenden, um die Herausforderungen zu veranschaulichen, auf die du bei der Entwicklung großer Datenanwendungen stoßen wirst. Außerdem haben wir im GitHub-Repository des Buches mehrere größere eigenständige Anwendungen für Beispiele bereitgestellt, die im Text nicht sinnvoll dargestellt werden können.
Das GitHub-Repository wird ein lebendiges Dokument bleiben, das wir je nach Fortschritt von Spark aktualisieren. Achte darauf, die Updates dort zu verfolgen.
Dieses Buch soll dir helfen, deine Arbeit zu erledigen. Wenn in diesem Buch Beispielcode angeboten wird, darfst du ihn in deinen Programmen und deiner Dokumentation verwenden. Du musst uns nicht um Erlaubnis fragen, es sei denn, du reproduzierst einen großen Teil des Codes. Wenn du zum Beispiel ein Programm schreibst, das mehrere Teile des Codes aus diesem Buch verwendet, brauchst du keine Erlaubnis. Wenn du eine CD-ROM mit Beispielen aus den O'Reilly-Büchern verkaufst oder verteilst, ist eine Genehmigung erforderlich. Die Beantwortung einer Frage mit einem Zitat aus diesem Buch und einem Beispielcode erfordert keine Genehmigung. Wenn du einen großen Teil des Beispielcodes aus diesem Buch in die Dokumentation deines Produkts aufnimmst, ist eine Erlaubnis erforderlich.
Wir freuen uns über eine Namensnennung, verlangen sie aber nicht. Eine Quellenangabe umfasst normalerweise den Titel, den Autor, den Verlag und die ISBN. Zum Beispiel:"Spark: The Definitive Guide" von Bill Chambers und Matei Zaharia (O'Reilly). Copyright 2018 Databricks, Inc. 978-1-491-91221-8."
Wenn du der Meinung bist, dass die Verwendung von Code-Beispielen nicht unter die Fair-Use-Regelung oder die oben genannte Erlaubnis fällt, kannst du uns gerne unter permissions@oreilly.com kontaktieren .
O'Reilly Safari
Hinweis
Safari (ehemals Safari Books Online) ist eine mitgliedschaftsbasierte Schulungs- und Nachschlageplattform für Unternehmen, Behörden, Lehrkräfte und Einzelpersonen.
Mitglieder haben Zugang zu Tausenden von Büchern, Schulungsvideos, Lernpfaden, interaktiven Tutorials und kuratierten Playlists von über 250 Verlagen, darunter O'Reilly Media, Harvard Business Review, Prentice Hall Professional, Addison-Wesley Professional, Microsoft Press, Sams, Que, Peachpit Press, Adobe, Focal Press, Cisco Press, John Wiley & Sons, Syngress, Morgan Kaufmann, IBM Redbooks, Packt, Adobe Press, FT Press, Apress, Manning, New Riders, McGraw-Hill, Jones & Bartlett und Course Technology, um nur einige zu nennen.
Weitere Informationen erhältst du unter http://oreilly.com/safari.
Wie du uns kontaktierst
Bitte wende dich mit Kommentaren und Fragen zu diesem Buch an den Verlag:
- O'Reilly Media, Inc.
- 1005 Gravenstein Highway Nord
- Sebastopol, CA 95472
- 800-998-9938 (in den Vereinigten Staaten oder Kanada)
- 707-829-0515 (international oder lokal)
- 707-829-0104 (Fax)
Wenn du Kommentare oder technische Fragen zu diesem Buch stellen möchtest, sende eine E-Mail an bookquestions@oreilly.com.
Weitere Informationen zu unseren Büchern, Kursen, Konferenzen und Neuigkeiten findest du auf unserer Website unter http://www.oreilly.com.
Finde uns auf Facebook: http://facebook.com/oreilly
Folge uns auf Twitter: http://twitter.com/oreillymedia
Schau uns auf YouTube: http://www.youtube.com/oreillymedia
Danksagungen
Es gab eine große Anzahl von Menschen, die dieses Buch möglich gemacht haben.
Zunächst möchten wir unserem Arbeitgeber, Databricks, dafür danken, dass er uns Zeit für die Arbeit an diesem Buch zur Verfügung gestellt hat. Ohne die Unterstützung des Unternehmens wäre dieses Buch nicht möglich gewesen. Insbesondere möchten wir Ali Ghodsi, Ion Stoica und Patrick Wendell für ihre Unterstützung danken.
Außerdem gibt es zahlreiche Personen, die Entwürfe des Buches und einzelne Kapitel gelesen haben. Unsere Lektoren waren erstklassig und haben uns unschätzbares Feedback gegeben.
Die Rezensenten, in alphabetischer Reihenfolge nach Nachnamen, sind:
-
Lynn Armstrong
-
Mikio Braun
-
Jules Damji
-
Denny Lee
-
Alex Thomas
Zusätzlich zu den offiziellen Rezensenten des Buches gab es zahlreiche andere Spark-Nutzer, Mitwirkende und Committer, die bestimmte Kapitel durchgelesen oder bei der Formulierung von Themen geholfen haben. In alphabetischer Reihenfolge nach Nachnamen sind die Personen, die geholfen haben:
-
Sameer Agarwal
-
Bagrat Amirbekian
-
Michael Armbrust
-
Joseph Bradley
-
Tathagata Das
-
Hossein Falaki
-
Wenchen Fan
-
Sue Ann Hong
-
Yin Huai
-
Tim Hunter
-
Xiao Li
-
Cheng Lian
-
Xiangrui Meng
-
Kris Mok
-
Josh Rosen
-
Srinath Shankar
-
Takuya Ueshin
-
Herman van Hövell
-
Reynold Xin
-
Philip Yang
-
Burak Yavuz
-
Shixiong Zhu
Zu guter Letzt möchten wir uns bei unseren Freunden, Verwandten und Bekannten bedanken. Ohne ihre Unterstützung, Geduld und Ermutigung wären wir nicht in der Lage gewesen, den endgültigen Leitfaden für Spark zu schreiben.
Get Spark: Der endgültige Leitfaden now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.