logo-spark-article
Source : commons.wikimedia.org

Le 10 juin 2020, est apparue la toute nouvelle release de l’outil open-source Apache Spark. Apache Spark 3.0. Cette nouvelle version apporte de nombreuses améliorations aux versions 2.0, notamment en ce qui concerne les bibliothèques de haut niveau comme le streaming structuré et le Mlib. Spark SQL est le programme ayant été le plus amélioré avec 46% de défauts reportés corrigés. De nouvelles fonctions encore en développement ont aussi été implémentées à Spark 3.0. Cette innovation a été possible grâce à une très grande communauté composée de 440 contributeurs.

Pourquoi choisir Spark 3.0 ?

Apache Spark 3.0 est un logiciel open-source de calcul distribué disposant de la plus grande communauté de contributeurs en Big Data. Cette architecture a prouvé ses performances en étant adoptée par un très grand nombre d’entreprises comme Netflix, Yahoo ou eBay.

Apache Spark est un outil complet permettant de résoudre de nombreuses missions dans le domaine du Big Data comme le Big Data processing, la data science, le machine learning ou le data analytics workload. Cette plateforme unifiée disposant d’une large bibliothèque de haut niveau permet d’augmenter grandement la productivité des développeurs et de gérer plus efficacement le workflow en analysant les tâches de manière combinée.

Spark est rapide, il est capable d’être 100 fois plus rapide que Hadoop pour le traitement de données à grande échelle grâce à une base de données en mémoire optimisée.

Il est facile à utiliser pour gérer de grosses bases de données grâce à de nombreux API incluant plus de 100 opérateurs pour la transformation de données et la manipulation de données semi-structurées à travers le RDD, le dataset ou encore le dataframe.

Spark 3.0 vs Spark 2.4

Spark 3.0 surpasse Spark 2.4 grâce à l’amélioration de nombreuses fonctionnalités comme l’utilisation de PySpark grâce à l’intégration de nouvelles APIs Pandas UDF. On constate alors beaucoup moins d’erreurs en utilisant Python. Spark 3.0 est conçu pour utiliser Python 3, l’usage de Python 2 étant déprécié.

Cette release améliore de manière surprenante sa rapidité d’exécution en étant 40 fois plus rapide pour appeler les fonctions définies par les utilisateurs avec R. Le benchmark TPC-DS-30TB constate que Spark 3.0 est 2 fois plus rapide que Spark 2.4.

L’utilisation du deep learning a aussi été optimisée et de nombreuses fonctionnalités ont été ajoutées comme l’adaptive query execution, le dynamic partition pruning, l’accelerator aware scheduler, l’ANSI SQL compliance, une optimisation du SparkGraph ou encore une nouvelle UI pour le structured streaming.

Avec cette mise à jour, Apache Spark a pour but d’élargir son positionnement en visant les métiers de data scientist et de data analyst alors que l’outil était plutôt orienté data engineer. Nous le constatons avec l’arrivée de nouvelles fonctions concernant le GPU, le format binaire ou le Delta Lake.

La nouvelle release de Spark permet l’utilisation de plusieurs GPU (AMD, Nvidia et Intel) en parallèle. Spark 3.0 identifie les GPU comme ressources de premier niveau. Par conséquent, Spark 3.0 exécute les workloads accélérés par le GPU directement sur les serveurs qui disposent des ressources GPU nécessaires pour accélérer la mise en place d’une tâche.

Spark prend désormais en charge les fichiers binaires (il peut lire les fichiers binaires et les convertir en un seul enregistrement qui contient le contenu brut et les métadonnées du fichier. Il produit alors un DataFrame avec éventuellement des colonnes de partition. Cette innovation pourra grandement servir les data scientists.

La version 3.0 rend l’utilisation de Delta Lake beaucoup plus simple. Delta Lake est un projet open-source permettant de rendre les données d’un data lake requêtables de manière ACID. Ce programme améliore la fiabilité des données de Spark, des data lakes et des pipelines de données pour des projets d’analyse de données et de machine learning réussis. Vous pouvez maintenant alimenter le Data Lake en batch et en streaming sans avoir à maintenir une architecture complexe.

Si vous êtes intéressés par la nouvelle version de Spark

Si vous voulez améliorer la productivité et la performance de vos équipes concernant les missions de gestion de base de données, alors, nous pouvons vous proposer nos formations sur Spark 3.0 qui vous permettront de planifier de la meilleure manière votre stratégie en Big Data. À savoir la formation Spark Tuning avancé, Spark V3 et Machine Learning et Spark Streaming.

A retenir

  • Spark 3.0 est une mise à jour majeure du framework, les innovations sont nombreuses et poussées
  • Apache veut probablement élargir son positionnement en donnant accès à des fonctions utiles pour les data analysts et data scientists
  • Spark 3.0 est bien plus rapide que sa version précédente, sa rapidité est l’un de ses plus grands atouts

UNE QUESTION ? UN PROJET ? UN AUDIT DE CODE / D'INFRASTRUCTURE ?

Pour vos besoins d’expertise que vous ne trouvez nulle part ailleurs, n’hésitez pas à nous contacter.