- Spark Tutorials mit Scala
- Apache Spark Essentials
- Übersicht
- Tutorials
- Spark-Cluster
- Tutorials
- Spark SQL mit Scala
- SQL
- DataFrames
- Datasets
- Spark SQL mit Scala-Tutorials
- Spark Streaming mit Scala
- Spark Streaming mit Scala Tutorials
- Spark Machine Learning
- Spark MLlib mit Scala Tutorials
- Spark Performance Monitoring und Debugging
- Spark mit Scala Integration Tutorials
- Spark-Operationen
Spark Tutorials mit Scala
Spark bietet Entwicklern und Ingenieuren eine Scala-API. Die unten aufgeführten Spark-Tutorials mit Scala behandeln die Scala Spark-API in Spark Core, Clustering, Spark SQL, Streaming, MLlib für maschinelles Lernen und mehr.
Sie können die Tutorials in beliebiger Reihenfolge aufrufen.
Die Tutorials setzen ein allgemeines Verständnis von Spark und dem Spark-Ökosystem voraus, unabhängig von der Programmiersprache wie Scala. Wenn Sie Apache Spark noch nicht kennen, beginnt der empfohlene Pfad von oben nach unten.
Wenn Sie neu in Scala und Spark sind und schnell produktiv werden möchten, lesen Sie meinen Scala for Spark-Kurs.
Neue Spark-Tutorials werden hier oft hinzugefügt, also schauen Sie öfter vorbei, setzen Sie ein Lesezeichen oder melden Sie sich für unsere Benachrichtigungsliste an, die jeden Monat Updates sendet.
Apache Spark Essentials
Übersicht
Um mit Spark produktiv und sicher zu werden, ist es wichtig, dass Sie mit den Spark-Konzepten von Resilient Distributed Datasets (RDD), DataFrames, DataSets, Transformationen und Aktionen vertraut sind. In den folgenden Tutorials werden die Spark-Grundlagen aus einer Scala-Perspektive behandelt.
Tutorials
- Was ist Apache Spark?
- Spark-Transformationsbeispiele in Scala
- Spark-Aktionsbeispiele in Scala
Mit diesen drei grundlegenden Konzepten und Spark-API-Beispielen oben sind Sie besser in der Lage, einen der folgenden Abschnitte zu Clustering, SQL, Streaming und / oder maschinellem Lernen (MLlib) zu verschieben.
Spark-Cluster
Spark-Anwendungen können als unabhängige Gruppen paralleler Prozesse ausgeführt werden, die über zahlreiche Computerknoten verteilt sind. Zahlreiche Knoten, die zusammenarbeiten, werden allgemein als „Cluster“ bezeichnet. Abhängig von Ihrer Version von Spark werden verteilte Prozesse von einem SparkContext oder einer SparkSession koordiniert. Der SparkContext kann eine Verbindung zu verschiedenen Arten von Cluster-Managern herstellen, einschließlich Mesos, YARN oder Spark’s internem Cluster-Manager namens „Standalone“. Sobald die Verbindung zum Cluster-Manager hergestellt ist, erfasst Spark Executoren auf Knoten innerhalb des Clusters.
Tutorials
In den folgenden Spark-Clustering-Tutorials erfahren Sie mehr über Spark-Cluster-Funktionen mit Scala-Quellcodebeispielen.
- Cluster Teil 1 Standalone ausführen
- Cluster Teil 2 Scala-Programm im Cluster bereitstellen
- Fehlerbehebung beim Spark-Cluster Bereitstellen
- Akkumulatoren und Broadcastvariablen
Weitere Informationen zu Spark-Clustern, z. B. zum Ausführen und Bereitstellen auf Amazon EC2, finden Sie im Abschnitt Integrationen am Ende dieser Seite.
Spark SQL mit Scala
Spark SQL ist die Spark-Komponente für die strukturierte Datenverarbeitung. Spark SQL-Schnittstellen bieten Spark einen Einblick sowohl in die Struktur der Daten als auch in die durchgeführten Prozesse. Es gibt mehrere Möglichkeiten, mit Spark SQL zu interagieren, einschließlich SQL, der DataFrames-API und der Datasets-API. Entwickler können zwischen den verschiedenen Spark-API-Ansätzen wählen.
SQL
Spark SQL-Abfragen können entweder mit einer einfachen SQL-Syntax oder mit HiveQL geschrieben werden. Spark SQL kann auch zum Lesen von Daten aus vorhandenen Hive-Installationen verwendet werden. Wenn SQL in einer Programmiersprache wie Python oder Scala ausgeführt wird, werden die Ergebnisse als Datenrahmen zurückgegeben. Sie können auch mit der SQL-Schnittstelle über JDBC / ODBC interagieren.
DataFrames
Ein DataFrame ist eine verteilte Sammlung von Daten, die in benannten Spalten organisiert sind. DataFrames können konzeptionell als äquivalent zu einer Tabelle in einer relationalen Datenbank betrachtet werden, jedoch mit umfangreicheren Optimierungen. Datenrahmen können aus Quellen wie CSVs, JSON, Tabellen in Hive, externen Datenbanken oder vorhandenen RDDs erstellt werden.
Datasets
Ein Dataset ist eine neue experimentelle Schnittstelle, die in Spark 1.6 hinzugefügt wurde. Datasets versuchen, die Vorteile von RDDs mit den Vorteilen der optimierten Ausführungsengine von Spark SQL zu kombinieren.
Spark SQL mit Scala-Tutorials
- Spark SQL mit CSV und Scala
- Spark SQL mit JSON und Scala
- Spark SQL MySQL JDBC mit Scala
Leser könnten auch daran interessiert sein, Tutorials wie Spark mit Cassandra-Tutorials zu verfolgen, die sich im Abschnitt Integration unten befinden. Spark mit Cassandra deckt auch Aspekte von Spark SQL ab.
Spark Streaming mit Scala
Spark Streaming ist das Spark-Modul, das die Stream-Verarbeitung von Live-Datenströmen ermöglicht. Daten können aus vielen Quellen wie Kinesis, Kafka, Twitter oder TCP-Sockets einschließlich WebSockets aufgenommen werden. Die Stream-Daten können mit übergeordneten Funktionen wie `map`, `join` oder `reduce` verarbeitet werden. Anschließend können verarbeitete Daten aus der Pipeline in Dateisysteme, Datenbanken und Dashboards verschoben werden.
Die MLlib-Algorithmen von Spark können für Datenströme verwendet werden, wie in den folgenden Tutorials gezeigt.
Spark Streaming empfängt Live-Eingangsdatenströme, indem die Daten in konfigurierbare Stapel aufgeteilt werden.
Spark Streaming bietet eine Abstraktion auf hoher Ebene, die als diskretisierter Stream oder kurz „DStream“ bezeichnet wird. DStreams können entweder aus Eingabedatenströmen oder durch Anwenden von Operationen auf andere DStreams erstellt werden. Intern wird ein DStream als eine Sequenz von RDDs dargestellt.
Spark Streaming mit Scala Tutorials
- Spark Streaming Übersicht
- Spark Streaming Beispiel Streaming von Slack
- Spark Streaming mit Kafka Tutorial
- Spark Strukturiertes Streaming mit Kafka einschließlich JSON, CSV, Avro und Confluent Schema Registry
- Spark Streaming mit Kinesis Beispiel
- Spark Streaming Testing
Spark Machine Learning
MLlib ist die ML-Bibliothekskomponente (Machine Learning) von Spark. Das MLlib-Ziel ist es, maschinelles Lernen einfacher und breiter verfügbar zu machen. Es besteht aus gängigen Lernalgorithmen und Dienstprogrammen wie Klassifizierung, Regression, Clustering, kollaborativer Filterung und Dimensionsreduktion.Die MLlib von Spark ist in zwei Pakete unterteilt:
- spark.mllib, die die ursprüngliche API enthält, die über RDDs
- spark.ml über DataFrames aufgebaut, die zum Erstellen von ML-Pipelines verwendet werden
spark.ml ist der empfohlene Ansatz, da die DataFrame-API vielseitiger und flexibler ist.
Spark MLlib mit Scala Tutorials
- Spark MLlib mit Streaming–Daten aus Scala Tutorial
Spark Performance Monitoring und Debugging
- Spark Performance Monitoring mit Metriken, Graphite und Grafana
- Spark Performance Monitoring Tools – Eine Liste von Optionen
- Spark Tutorial – Performance Monitoring mit History Server
- Scala Spark Debugging in IntelliJ
Spark mit Scala Integration Tutorials
Die folgenden Scala Spark Tutorials bauen auf den zuvor behandelten Themen in spezifischeren Anwendungsfällen auf
- Spark Amazon S3 Tutorial
- Spark Bereitstellen in einem EC2-Cluster Tutorial
- Spark Cassandra von Scala Tutorial
- Spark Scala in IntelliJ
- Apache Spark Thrift Server mit Cassandra Tutorial
- Apache Spark Thrift Server Lasttestbeispiel
Spark-Operationen
Die folgenden Scala Spark-Tutorials beziehen sich auf Betriebskonzepte
- Spark Befehlszeilenargumente in Scala
- Spark FAIR Scheduler Beispiel
Ausgewähltes Bild angepasst von https://flic.kr/p/7zAZx7
Teilen! Teilen! Teilen! Chant es jetzt mit mir