Microsoft bringt .NET dev zu Apache Spark

Microsoft und die .NET Foundation haben Version 1.0 von .NET für Apache Spark veröffentlicht, ein Open Source-Paket, das die .NET-Entwicklung für die umfangreiche Datenverarbeitung in die Spark-Analyse-Engine bringt.

.NET für Apache Spark 1.0 wurde am 27. Oktober angekündigt und unterstützt .NET-Anwendungen, die auf .NET Standard 2.0 oder höher abzielen. Benutzer können auf Spark DataFrame-APIs zugreifen, Spark SQL schreiben und benutzerdefinierte Funktionen (UDFs) erstellen.

Das .NET für Apache Spark-Framework ist auf der GitHub-Seite der .NET Foundation oder bei NuGet verfügbar. Weitere Funktionen von .NET für Apache Spark 1.0 sind:

  • Ein API-Erweiterungsframework zum Hinzufügen von Unterstützung für zusätzliche Spark-Bibliotheken, einschließlich Linux Foundation Delta Lake, Microsoft OSS Hyperspace, ML.NET und Apache Spark MLlib-Funktionen.
  • .NET für Apache Spark-Programme, die keine UDFs sind, weisen dieselbe Geschwindigkeit auf wie Scala- und PySpark-basierte Nicht-UDF-Anwendungen. Wenn Anwendungen UDFs enthalten, sind .NET für Apache Spark-Programme mindestens so schnell wie PySpark-Programme oder möglicherweise schneller.
  • .NET für Apache Spark ist in Azure Synapse und Azure HDInsight integriert. Es kann auch in anderen Apache Spark-Cloud-Angeboten einschließlich Azure Databricks verwendet werden.

Die erste öffentliche Version des Projekts wurde im April 2019 angekündigt. Die Entwicklung von .NET für Apache Spark wurde durch die gestiegene Nachfrage nach einer einfacheren Möglichkeit zum Erstellen von Big-Data-Anwendungen vorangetrieben, anstatt Scala oder Python lernen zu müssen. Das Projekt wird unter der .NET Foundation betrieben und wurde als Vorschlag zur Verbesserung des Spark-Projekts eingereicht, um direkt in das Apache Spark-Projekt aufgenommen zu werden.

Mit Blick auf die Zukunft befasst sich Microsoft mit Hindernissen wie dem Einrichten von Voraussetzungen und Abhängigkeiten und dem Auffinden hochwertiger Dokumentation. Beispiele hierfür sind von der Community bereitgestellte "sofort einsatzbereite" Docker-Images und Aktualisierungen der .NET for Apache Spark-Dokumentation. Eine weitere Priorität ist die Unterstützung von Bereitstellungsoptionen, einschließlich der Integration in CI / CD-Entwicklungs-Pipelines und der Veröffentlichung von Jobs direkt aus Visual Studio.