Was ist .NET für Apache Spark?

Apache Spark ist eine verteilte Verarbeitungs-Engine, die universell einsetzbar ist und sich für die Analyse großer Datasets eignet, die üblicherweise mehrere Terabyte oder Petabyte umfassen. Mit .NET für Apache Spark, der kostenlosen, plattformübergreifenden Open-Source-.NET-Unterstützung für das beliebte Open-Source-Big Data-Analyseframework, können Sie nun Ihren Big Data-Anwendungen die Leistungsfähigkeit von Apache Spark mithilfe von Sprachen hinzufügen, die Sie bereits kennen.

Gründe für .NET für Apache Spark

.NET für Apache Spark ermöglicht Entwicklern mit NET-Erfahrung oder einer .NET-Codebasis den Einstieg in die Welt von Big Data-Analysen. .NET für Apache Spark bietet Hochleistungs-APIs für die Verwendung von Spark in C# und F#. Mit C# und F# erhalten Sie Zugriff auf Folgendes:

  • DataFrames und Spark SQL für die Arbeit mit strukturierten Daten
  • Spark Structured Streaming zum Arbeiten mit Streamingdaten
  • Spark SQL zum Schreiben von Abfragen mit SQL-Syntax
  • Integration von maschinellem Lernen für schnelleres Trainieren und Vorhersagen (d. h. Verwendung von .NET für Apache Spark zusammen mit ML.NET)

.NET für Apache Spark ist mit .NET Standard kompatibel, einer formalen Spezifikation von .NET-APIs, die in allen .NET-Implementierungen verwendet werden. Dadurch können Sie .NET für Apache Spark für Ihren .NET-Code verwenden und Ihr Know-how als .NET-Entwickler nutzen sowie Ihren Code und Ihre Bibliotheken weiterverwenden.

.NET für Apache Spark kann unter Windows, Linux und macOS mit .NET Core ausgeführt werden. Unter Windows kann .NET für Apache Spark auch mit dem .NET Framework ausgeführt werden. Sie können Ihre Anwendungen mit den Diensten und Plattformen aller großen Cloudanbieter bereitstellen. Dazu gehören Azure HDInsight Spark, Amazon EMR Spark, Azure Databricks und Databricks auf AWS.

Architektur von .NET für Apache Spark

Die C#-/F#-Sprachbindung für Spark wurde auf einer neuen Spark-Interoperabilitätsebene geschrieben, die eine einfachere Erweiterbarkeit ermöglicht. Diese neue Ebene der Spark-Interoperabilität wurde anhand bewährter Methoden für die Spracherweiterung geschrieben, Interoperabilität und Leistung zu optimieren. Langfristig kann diese Erweiterbarkeit für das Hinzufügen von Unterstützung für andere Sprachen in Spark verwendet werden.

.NET for Apache Spark architecture

Weitere Informationen zur Interoperabilitätsunterstützung für Spark-Spracherweiterungen finden Sie im Vorschlag.

Leistung von .NET für Apache Spark

Beim Vergleich mit Python und Scala unter Verwendung der TPC-H-Benchmarks ist die Leistung von .NET für Apache Spark in den meisten Fällen gut. Wenn benutzerdefinierte Funktionen besonders wichtig sind, ist die Leistung sogar doppelt so hoch wie bei Python. Die Leistung und Benchmarks werden kontinuierlich verbessert.

Informationen zu eigenen Benchmarktests finden Sie in den verfügbaren Benchmarks auf der GitHub-Seite für .NET für Apache Spark.

Roadmap für .NET für Apache Spark

In der offiziellen Roadmap für .NET für Apache Spark können Sie sich über die kurzfristigen und langfristigen Pläne informieren.

.NET Foundation

Das .NET für Apache Spark-Projekt ist Teil der .NET Foundation.

Beiträge

Das Team von .NET für Apache Spark freut sich immer über Beiträge in Form von GitHub-Issues und -Pull Requests. Suchen Sie immer zuerst nach einem bereits vorhandenen Issue, bevor Sie ein neues Issue erstellen.

Nächste Schritte

Testen Sie .NET für Apache Spark.