pyspark
Qu'est-ce que PySpark ?
Apache Spark est écrit dans le langage de programmation Scala. PySpark a été créé pour soutenir la collaboration d'Apache Spark et de Python : concrètement, c'est une API Python pour Spark. De plus, PySpark joue le rôle d'interface avec les datasets distribués résilients (RDD) d'Apache Spark et le langage de programmation Python. C'est la bibliothèque Py4j qui a permis d'obtenir ce résultat.
Py4J est une bibliothèque populaire, intégrée à PySpark, qui permet à Python de s'interfacer dynamiquement avec les objets JVM. PySpark comprend plusieurs bibliothèques pensées pour l'écriture de programmes efficaces. Diverses bibliothèques externes sont également compatibles. En voici une sélection :
PySparkSQL
Cette bibliothèque PySpark permet d'appliquer une analyse de type SQL à une grande quantité de données structurées ou semi-structurées. Il est aussi possible d'utiliser des requêtes SQL avec PySparkSQL. Et de la connecter à Apache Hive. HiveQL est également utilisable. PySparkSQL est un wrapper pour le noyau PySpark. PySparkSQL a introduit le DataFrame, une représentation tabulaire des données structurées similaire à une table dans un système de gestion de base de données relationnelle.
mllib
MLlib est un wrapper pour PySpark et la bibliothèque de machine learning de Spark. Cette bibliothèque utilise la technique du parallélisme des données pour stocker et exploiter les données. L'API de machine learning fournie par la bibliothèque MLlib est assez simple à utiliser. MLlib prend en charge de nombreux algorithmes de machine learning pour la classification, la régression, le clustering, le filtrage collaboratif, la réduction de dimensionnalité et l'identification des primitives d'optimisation sous-jacentes.
GraphFrames
GraphFrames est une bibliothèque de traitement graphique spécialisée qui fournit différentes API pour réaliser des analyses graphiques efficaces à l'aide de PySpark core et PySparkSQL. Elle est optimisée pour le calcul distribué à grande vitesse. Les avantages de PySpark : • Python est un langage très facile à apprendre et à implémenter. • Elle fournit une API simple et complète. • Avec Python, la lisibilité du code est bien meilleure, et sa maintenance et sa prise en main sont beaucoup plus simples. • La bibliothèque offre différentes options de visualisation des données, bien plus difficiles à obtenir avec Scala ou Java.