PRÉSENTATION DE .NET POUR APACHE SPARK

Le 24 avril 2019 avez lieu la SUMMIT 2019 SPARK + AI la conférence mondiale destinée au machine learning organisée par Databricks. Durant cette dernière une annonce a présenté la nouvelle brique .NET pour Spark, déjà disponible sur différents langages comme Scala, Java, Python et R.


Conférence SUMMIT 2019 AI SPARK

Spark le un moteur de traitement distribué open source populaire destiné aux analytiques couvrant de grands ensembles de données. Spark peut être utilisé pour le traitement de lots de données, les flux en temps réel, l’apprentissage automatique et les requêtes ad-hoc. Il est utilisé par de grands acteurs en France, tel que Pages Jaunes & SoLocal par exemple.

Microsoft a pour but de développer .Net pour Apache Spark afin que la communauté Spark et .Net bénéficient du meilleur des deux mondes.

. NET pour Apache Spark fournit des API hautes performances pour utiliser Spark à partir de C# 7 et F#. Avec cette API .NET, vous pouvez accéder à tous les aspects d’Apache Spark, y compris Spark SQL, DataFrames, Streaming, MLLib, etc., .NET pour Apache Spark vous permet de réutiliser toutes les connaissances, compétences, codes et bibliothèques que vous possédez déjà en tant que développeur .NET.

La liaison du langage C# / F# à Spark sera écrite sur une nouvelle couche d’interopérabilité Spark offrant une extensibilité plus facile. Cette nouvelle couche de Spark Interop a été écrite en gardant à l’esprit les meilleures pratiques d’extension de langage et optimise les performances et l’interopérabilité. À long terme, cette extensibilité peut être utilisée pour ajouter la prise en charge d’autres langues dans Spark.

Langage disponible pour Apache Spark

Débuter avec .NET pour Apache Spark

Avec une installation simple .NET pour Apache Spark bénéficie d’une compatibilité à partir de .NET Standard 2.0 et peut être utilisé sous Linux, Mac OS et Windows, tout comme le reste de .NET. .Ce framework est maintenant disponible par défaut dans Azure HDInsight et peut être installé dans Azure Databricks et bien plus. Vous n’avez donc aucune excuse pour ne pas l’exploiter dans votre environnement habituel !

Performances avec .NET pour Apache Spark

La première version de .NET pour Apache Spark se comporte bien sur le célèbre benchmark TPC-H. La référence TPC-H consiste en une suite de requêtes orientées métier. Le graphique ci-dessous illustre les performances de .NET Core par rapport à Python et Scala sur le jeu de requêtes TPC-H.

Tableau de performances selon les langages

L’AVENIR DE .NET POUR APACHE SPARK

Cette version de Spark pour .Net est promise à un grand avenir même si la technologie reste encore en cours d’amélioration les développeurs créateurs de .Net pour Apache Spark sont ouverts à vos retours sur la technologie afin améliorer son utilisation et ses performances De plus voici quelques innovations qui sont en cours ajout sur le logiciel :

  • Expérience de démarrage simplifiée, documentation et exemples
  • Intégration native avec des outils de développement tels que Visual Studio, Code Visual Studio, les carnets de notes Jupyter
  • Prise en charge .NET pour les fonctions d’agrégation définies par l’utilisateur
  • API idiomatiques .NET pour C# et F# (par exemple, utilisation de LINQ pour l’écriture de requêtes)
  • Prise en charge immédiate avec Azure Databricks, Kubernetes, etc.
  • Intégrez .NET pour Apache Spark à Spark Core

Nos formations sur Spark & ML sont disponibles

Source (EN) :
https://devblogs.microsoft.com/dotnet/introducing-net-for-apache-spark/