22/06/2020

Apache Spark 3.0

La version 3.0 du framework open source de traitement big data disponible. Elle propose des améliorations des API Python, une meilleure compatibilité ANSI SQL et arbore un gain de performance de 100 % !

Apache Spark est devenu un standard de l’industrie dans les domaines du big data, du machine learning et de l’analyse des données. En améliorant considérablement la prise en charge de SQL et Python, Apache Spark 3.0 renforce sans conteste sa position.

Les performances en hausse

La nouveauté la plus importante est visible dans les performances, avec un framework qui s’annonce deux fois plus rapide que Spark 2.4, illustré par le test de référence TPC-DS. C’est avant tout l’exécution adaptative des requêtes, l’élagage de partitions dynamique et quelques autres optimisations qui ont permis d’atteindre ce gain de performance a été atteint grâce à des améliorations comme.

Les autres nouveautés

En ciblant plus la communauté des chercheurs le framework apporte des améliorations aux API panda. Il offre une meilleure gestion des erreurs Python, des appels de fonctions R définies par l’utilisateur qui sont jusqu’à 40 fois plus rapides.

SQL

Dans la version 3.0.0 du framework de traitement de données massives s’améliore aussi grâce à une meilleure compatibilité avec la norme SQL. C’est est essentiel pour la migration des charges de travail depuis d’autres moteurs SQL vers Spark SQL, le module d’Apache Spark pour travailler avec des données structurées.

Python

Plus des deux tiers des utilisateurs de Spark développent leurs applications en langage python. Ainsi, PySpark, l’API Spark pour Python, recueille plus de 5 millions de téléchargements mensuels. La dernière version du framework a donc bénéficié d’une accélération de développement pour Koalas, une implémentation de l’API pandas au-dessus d’Apache Spark. Ce dernier améliore la productivité en supprimant la nécessité de créer de nombreuses fonctions dans PySpark. Koalas couvre aujourd’hui près de 80 % des fonctionnalités de Pandas.

Le traitement GPU

Des accélérateurs de type GPU sont très souvent utilisés pour accélérer la réalisation des tâches de d’apprentissage profond. Pour permettre à Spark de tirer parti des GPU et autres accélérateurs matériels sur les plateformes cibles, cette nouvelle version améliore le planificateur existant en dotant le gestionnaire de cluster d’une fonctionnalité permettant de détecter la présence d’accélérateurs et de les utiliser.

Source : spark.apache.org

Actualités