Freigeben über


Apache Spark auf Azure Databricks

Apache Spark ist das Herzstück der Azure Databricks Data Intelligence Platform und ist die Technologie, die Compute-Cluster und SQL Warehouses antreibt. Azure Databricks ist eine optimierte Plattform für Apache Spark, die eine effiziente und einfache Plattform für die Ausführung von Apache Spark-Workloads bietet.

Was ist die Beziehung von Apache Spark zu Azure Databricks?

Das Databricks-Unternehmen wurde von den ursprünglichen Schöpfern von Apache Spark gegründet. Als Open Source-Softwareprojekt hat Apache Spark Committer aus vielen Top-Unternehmen, darunter Databricks.

Databricks entwickelt und veröffentlicht weiterhin Features für Apache Spark. Die Databricks-Runtime, die Azure Databricks unterstützt, umfasst zusätzliche Optimierungen und proprietäre Features, die auf Apache Spark aufbauen und erweitern, einschließlich Photon, einer optimierten Ausführungsebene, die in Verbindung mit Spark verwendet werden kann. Databricks Photon wurde entwickelt, um mit Apache Spark Workloads zu arbeiten und die Leistung zu verbessern. Photon verbessert die Leistung von Spark durch Vektorisieren von Abfragen und anderen Vorgängen, was eine schnellere Ausführung von SQL- und DataFrame-API-Vorgängen ermöglicht.

Wie ist Databricks für Apache Spark optimiert?

In Apache Spark werden alle Vorgänge entweder als Transformationen oder Aktionen definiert.

  • Transformationen: Fügen Sie dem Plan eine Verarbeitungslogik hinzu. Beispiele sind das Lesen von Daten, Verknüpfungen, Aggregationen und Typumwandlung.
  • Aktionen: Auslösen der Verarbeitungslogik zum Auswerten und Ausgeben eines Ergebnisses. Beispiele sind Schreibvorgänge, Anzeigen oder Vorschau von Ergebnissen, manuelles Zwischenspeichern oder Ermitteln der Zeilenanzahl.

Apache Spark verwendet ein faules Ausführungsmodell , was bedeutet, dass keine der durch eine Sammlung von Vorgängen definierten Logik ausgewertet wird, bis eine Aktion ausgelöst wird. Um unnötige Auswertung der Logik zu vermeiden, verwenden Sie nur Aktionen, um Ergebnisse wieder in einer Zieltabelle zu speichern.

Da Aktionen einen Verarbeitungsengpass bei der Optimierung der Logik darstellen, hat Azure Databricks zahlreiche Optimierungen zusätzlich zu den bereits in Apache Spark vorhandenen vorgenommen, um eine optimale Logikausführung sicherzustellen. Diese Optimierungen berücksichtigen alle Transformationen, die von einer bestimmten Aktion gleichzeitig ausgelöst werden, und finden den optimalen Plan basierend auf dem physischen Layout der Daten. Das manuelle Zwischenspeichern von Daten oder das Zurückgeben von Vorschauergebnissen in Produktionspipelines kann diese Optimierungen unterbrechen und zu Kosten- und Latenzsteigerungen führen.

Wie funktioniert Apache Spark auf Azure Databricks?

Wenn Sie einen Computecluster oder SQL Warehouse auf Azure Databricks bereitstellen, wird Apache Spark konfiguriert und auf virtuellen Computern bereitgestellt. Sie müssen keinen Spark-Kontext oder eine Spark-Sitzung konfigurieren oder initialisieren, da diese für Sie von Azure Databricks verwaltet werden.

Kann ich Azure Databricks ohne Apache Spark verwenden?

Ja. Azure Databricks unterstützt eine Vielzahl von Workloads und umfasst Open Source-Bibliotheken in der Databricks-Runtime. Databricks SQL verwendet Photon unter der Haube, Endbenutzer können jedoch Spark SQL-Syntax verwenden, um Datenbankobjekte mit Photon zu erstellen und abzufragen.

Databricks Runtime for Machine Learning ist für ML-Workloads optimiert, und viele Data Scientists verwenden primäre Open Source-Bibliotheken wie TensorFlow und SciKit Learn während der Arbeit an Azure Databricks. Sie können Aufträge verwenden, um beliebige Workloads für Computeressourcen zu planen, die von Azure Databricks bereitgestellt und verwaltet werden.

Warum Apache Spark auf Azure Databricks verwenden?

Die Databricks-Plattform bietet eine sichere, kollaborative Umgebung für die Entwicklung und Bereitstellung von Unternehmenslösungen, die mit Ihrem Unternehmen skaliert werden. Databricks Mitarbeiter umfassen viele der weltweit besten Apache Spark-Betreuer und -Benutzer. Das Unternehmen entwickelt und veröffentlicht kontinuierlich neue Optimierungen, um sicherzustellen, dass Benutzer auf die schnellste Umgebung für die Ausführung von Apache Spark zugreifen können.

Wie kann ich mehr über die Verwendung von Apache Spark auf Azure Databricks erfahren?

Um mit Apache Spark auf Azure Databricks zu beginnen, tauchen Sie direkt ein! Das Apache Spark DataFrames-Lernprogramm führt Durch das Laden und Transformieren von Daten in Python, R oder Scala. Siehe Tutorial: Laden und Transformieren von Daten mithilfe von Apache Spark DataFrames. Weitere Leitfäden und Links zu zusätzlichen Informationen finden Sie unter Apache Spark auf Azure Databricks.

Weitere Informationen zur Sprachunterstützung für Python, R und Scala in Spark finden Sie unter PySpark auf Azure Databricks, Sparklyr und Azure Databricks für Scala-Entwickler sowie in Referenz für Apache Spark-APIs.