Vorwort

Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com

Wir haben dieses Buch für Data Engineers und Data Scientists geschrieben, die das Beste aus Spark herausholen wollen. Wenn du mit Spark arbeitest und in Spark investiert hast, deine Erfahrungen aber bisher von Speicherfehlern und mysteriösen, sporadischen Ausfällen geprägt waren, ist dieses Buch für dich. Wenn du Spark zu Forschungszwecken benutzt oder nebenbei damit experimentierst, dich aber noch nicht sicher genug fühlst, um es in die Produktion zu überführen, kann dir dieses Buch helfen. Wenn du von Spark begeistert bist, aber nicht die erwarteten Leistungssteigerungen erzielt hast, hoffen wir, dass dieses Buch dir helfen kann. Dieses Buch richtet sich an diejenigen, die bereits einige Kenntnisse über Spark haben, und kann für diejenigen, die keine oder nur wenig Erfahrung mit Spark oder verteiltem Rechnen haben, schwierig zu verstehen sein. Empfehlungen für weitere Einführungsliteratur findest du unter "Unterstützende Bücher und Materialien".

Wir gehen davon aus, dass dieser Text vor allem für diejenigen nützlich sein wird, die sich um die Optimierung wiederholter Abfragen in der Produktion kümmern, und weniger für diejenigen, die hauptsächlich explorativ arbeiten. Während das Schreiben hochperformanter Abfragen für den Dateningenieur vielleicht wichtiger ist, erfordert das Schreiben solcher Abfragen mit Spark im Gegensatz zu anderen Frameworks eine gute Kenntnis der Daten, die für den Datenwissenschaftler normalerweise intuitiver ist. Daher kann es für einen Dateningenieur nützlicher sein, wenn er weniger Erfahrung damit hat, kritisch über die statistische Natur, die Verteilung und das Layout von Daten nachzudenken, wenn es um die Leistung geht. Wir hoffen, dass dieses Buch Dateningenieuren dabei helfen wird, kritischer über ihre Daten nachzudenken, wenn sie Pipelines in Betrieb nehmen. Wir möchten unseren Lesern helfen, Fragen zu stellen wie "Wie sind meine Daten verteilt?", "Sind sie schief?", "Wie groß ist der Wertebereich in einer Spalte?" und "Wie soll sich ein bestimmter Wert gruppieren?" und die Antworten auf diese Fragen dann auf die Logik ihrer Spark-Abfragen anzuwenden.

Aber auch für Datenwissenschaftler, die Spark hauptsächlich für explorative Zwecke nutzen, soll dieses Buch einige wichtige Intuitionen für das Schreiben performanter Spark-Abfragen vermitteln, damit du, wenn der Umfang der explorativen Analyse unweigerlich wächst, eine bessere Chance hast, etwas beim ersten Mal zum Laufen zu bringen. Wir hoffen, dass wir Datenwissenschaftler/innen, auch diejenigen, die bereits gut mit verteilten Daten umgehen können, dazu anleiten können, kritisch darüber nachzudenken, wie ihre Programme ausgewertet werden, damit sie ihre Daten umfassender und schneller erforschen und effektiv mit allen kommunizieren können, die ihnen helfen, ihre Algorithmen in die Produktion zu bringen.

Unabhängig von deiner Berufsbezeichnung ist es wahrscheinlich, dass die Menge der Daten, mit denen du arbeitest, schnell wächst. Deine ursprünglichen Lösungen müssen möglicherweise skaliert und deine alten Techniken zur Lösung neuer Probleme aktualisiert werden. Wir hoffen, dass dieses Buch dir hilft, Apache Spark zu nutzen, um neue Probleme einfacher und alte Probleme effizienter zu lösen.

Erste Ausgabe Anmerkungen

Du liest gerade die erste Ausgabe von High Performance Spark, und dafür danken wir dir! Wenn du Fehler findest oder Ideen hast, wie du dieses Buch verbessern kannst, wende dich bitte an Wenn du in zukünftigen Ausgaben des Buches in einem "Danke"-Abschnitt erwähnt werden möchtest, gib bitte deinen bevorzugten Anzeigenamen an.

Unterstützende Bücher und Materialien

Für Datenwissenschaftler und Entwickler, die Spark noch nicht kennen, ist Learning Spark von Karau, Konwinski, Wendell und Zaharia eine hervorragende Einführung,1 und Advanced Analytics with Spark von Sandy Ryza, Uri Laserson, Sean Owen und Josh Wills ist ein großartiges Buch für interessierte Datenwissenschaftler/innen. Für Personen, die sich mehr für Streaming interessieren, könnte das in Kürze erscheinende Learning Spark Streaming von François Garillot ebenfalls von Nutzen sein, sobald es verfügbar ist.

Neben Büchern gibt es auch eine Reihe von Schulungsmaterialien für die Einführung in Spark. Für diejenigen, die Videos bevorzugen, hat Paco Nathan eine ausgezeichnete Einführungsvideoserie bei O'Reilly. Kommerziell bieten Databricks sowie Cloudera und andere Hadoop/Spark-Anbieter Spark-Schulungen an. Frühere Aufzeichnungen von Spark-Camps sowie viele andere großartige Ressourcen wurden auf der Dokumentations-Seite von Apache Spark veröffentlicht.

Wenn du noch keine Erfahrung mit Scala hast, tun wir unser Bestes, um dich in Kapitel 1 davon zu überzeugen, Scala in die Hand zu nehmen, und wenn du daran interessiert bist, es zu lernen, ist Programming Scala, 2nd Edition, von Dean Wampler und Alex Payne eine gute Einführung.2

In diesem Buch verwendete Konventionen

In diesem Buch werden die folgenden typografischen Konventionen 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.

Warnung

Beispiele, die mit "Evil" gekennzeichnet sind, hängen stark von Apache Spark-Interna ab und werden wahrscheinlich in zukünftigen Versionen von Apache Spark nicht mehr funktionieren. Wir haben dich gewarnt, aber wir verstehen, dass du dem keine große Aufmerksamkeit schenken wirst, denn das würden wir auch nicht.

Code-Beispiele verwenden

Ergänzendes Material (Code-Beispiele, Übungen usw.) kann vom High Performance Spark GitHub Repositoryheruntergeladen werden, und ein Teil des Testcodes ist im "Spark Testing Base" GitHub Repositoryund im Spark Validator Repo verfügbar. Beispiele für strukturiertes Streaming für maschinelles Lernen, die im Allgemeinen in die Kategorie "böse" fallen, die unter "In diesem Buch verwendete Konventionen" besprochen wird , sind unter https://github.com/holdenk/spark-structured-streaming-ml verfügbar.

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. Der Code ist auch unter einer Apache 2 Lizenz verfügbar. Wenn du einen großen Teil des Beispielcodes aus diesem Buch in die Dokumentation deines Produkts aufnimmst, kann eine Genehmigung erforderlich sein.

Wir schätzen die Namensnennung, verlangen sie aber nicht. Eine Quellenangabe umfasst normalerweise den Titel, den Autor, den Verlag und die ISBN. Zum Beispiel: "High Performance Spark von Holden Karau und Rachel Warren (O'Reilly). Copyright 2017 Holden Karau, Rachel Warren, 978-1-491-94320-5."

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 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 man die Autoren kontaktiert

Wenn du uns Feedback geben möchtest, schreibe uns eine E-Mail an Wenn du dich über Spark informieren willst, folge uns auf Twitter:

Holden: http://twitter.com/holdenkarau

Rachel: https://twitter.com/warre_n_peace

Wie du uns kontaktierst

Bitte richte Kommentare 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

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

Die Autoren möchten sich bei allen bedanken, die uns mit Kommentaren und Vorschlägen zu frühen Entwürfen unserer Arbeit geholfen haben. Besonderer Dank geht an Anya Bida, Jakob Odersky und Katharine Kearnan für die Durchsicht früher Entwürfe und Diagramme. Wir danken Mahmoud Hanafy für die Überprüfung und Verbesserung des Beispielcodes und früherer Entwürfe. Wir danken auch Michael Armbrust für die Durchsicht und das Feedback zu frühen Entwürfen des SQL-Kapitels. Justin Pihony war einer der aktivsten frühen Leser, der in jeder Hinsicht (Sprache, Formatierung usw.) Korrekturen vorgeschlagen hat.

Vielen Dank an alle Leser unserer O'Reilly-Vorabversion, die uns Feedback zu verschiedenen Fehlern gegeben haben, darunter Kanak Kshetri und Rubén Berenguel.

Wir möchten uns auch bei unseren engagierten (offiziellen) technischen Prüfern Neelesh Srinivas Salian und Denny Lee bedanken, die jede Seite durchgelesen und uns mit detailliertem Feedback geholfen haben, zu entscheiden, welche Inhalte wo hingehören.

Schließlich möchten wir uns bei unseren jeweiligen Arbeitgebern für ihr Verständnis während der Arbeit an diesem Buch bedanken. Besonders Lawrence Spracklen, der darauf bestand, dass wir ihn hier erwähnen :p.

1 Auch wenn wir vielleicht voreingenommen sind.

2 Es ist jedoch wichtig zu wissen, dass einige der in diesem Buch vorgeschlagenen Praktiken im Spark-Code nicht gängige Praxis sind.

Get Hochleistungsfunken 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.