Freigeben über


Apache Spark auf Azure Databricks

Apache Spark bildet das Herzstück der Azure Databricks Data Intelligence Platform und treibt die Computecluster und SQL Warehouses an. 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.

Wie ist die Beziehung von Apache Spark zu Azure Databricks?

Das Unternehmen Databricks wurde von den ursprünglichen Schöpfern von Apache Spark gegründet. Als Open-Source-Softwareprojekt verfügt Apache Spark über Committer aus vielen führenden Unternehmen, einschließlich 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: Verarbeitungslogik zum Plan hinzufügen. Beispiele sind das Lesen von Daten, Joins, Aggregationen und Typumwandlungen.
  • Aktionen: lösen Verarbeitungslogik zum Auswerten und Ausgeben von Ergebnissen aus. Beispiele sind Schreibvorgänge, das Anzeigen der Ergebnisse oder einer Vorschau der Ergebnisse, das manuelle Zwischenspeichern oder das Abrufen der Zeilenanzahl.

Apache Spark verwendet ein Modell mit verzögerter Ausführung. Das bedeutet, dass die Logik, die durch eine Sammlung von Vorgängen definiert ist, erst ausgewertet wird, wenn 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 für die Optimierung der Logik darstellen, hat Azure Databricks zusätzliche Optimierungen zu den bereits in Apache Spark vorhandenen hinzugefügt, um eine optimale Logikausführung zu gewährleisten. Diese Optimierungen berücksichtigen alle Transformationen, die von einer bestimmten Aktion gleichzeitig ausgelöst werden, um den optimalen Plan basierend auf dem physischen Layout der Daten zu ermitteln. 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 in Azure Databricks?

Wann immer Sie einen Computecluster oder ein SQL Warehouse in 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 enthält andere 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.

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

Gründe für die Verwendung von Apache Spark in Azure Databricks

Die Databricks-Plattform bietet eine sichere, kollaborative Umgebung für die Entwicklung und Bereitstellung von Unternehmenslösungen, die sich mit den Größenveränderungen Ihres Unternehmens skalieren lassen. 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 in Azure Databricks erfahren?

Beginnen Sie gleich mit der Verwendung von Apache Spark in Azure Databricks! Das Apache Spark DataFrames-Tutorial führt Sie 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 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.