Comme son nom l’indique, le Big Data est un concept qui traite des quantités massives de données stockées et traitées de telle sorte qu’elles puissent produire des informations significatives. L’analyse des données massives est un moyen de structurer le calcul et le stockage de manière à pouvoir traiter une telle quantité de données. Cela peut être réalisé en utilisant un ou plusieurs outils, mais il faut une certaine expertise pour utiliser efficacement ces outils à des fins d’analyse.  Il existe de nombreuses bibliothèques et paquets disponibles pour le Big Data à l’aide de Python, mais l’une d’entre elles, Pyspark, est particulièrement populaire auprès des scientifiques des données qui ont besoin d’un moyen de traiter d’énormes ensembles de données dans leur application.

Pré-requis :

Pyspark:

PySpark est une interface pour Apache Spark en Python. Spark est un cadre de calcul en cluster construit autour de la vitesse, de la facilité d’utilisation et de l’analyse sophistiquée des big data à l’aide de Python. Récemment, Spark est devenu un acteur majeur dans le domaine du big data. Les entreprises, grandes et petites, se tournent vers lui pour analyser leurs données. Elles ont choisi Spark parce que, contrairement à ses concurrents, Spark fonctionne tout simplement. Il est rapide, facile à utiliser et offre un large éventail de fonctionnalités.

Pour installer Pyspark, utilisez la commande suivante dans votre terminal ou votre invite de commande

Pip install pyspark

Notebook:

Pour exécuter votre Pyspark, nous devons avoir une idée claire du code à écrire et de l’environnement sur lequel il doit être exécuté. Ici, j’utilise le carnet de notes Google Colab – qui est en soi gratuit et encourage le développement collaboratif ; il ne nécessite pas non plus de téléchargement ou d’installation puisqu’il fonctionne dans votre navigateur web ! Mais si vous avez déjà un carnet de notes Jupyter et que vous voulez l’utiliser plutôt que Google Colab, c’est parfait aussi, car les étapes requises pour exécuter Pyspark sont les mêmes pour les deux !

Étape -1 : Créer une session Spark

L’instance Spark Session est la façon dont Spark exécute les manipulations définies par l’utilisateur à travers le cluster. En Scala et Python, la variable Spark Session est disponible en tant que variable spark lorsque vous démarrez la console

Importer des dépendances

from pyspark.sql import SparkSession

création d’énergie de session

# here you can give any appname
spark = SparkSession.builder.appName('Pyspark').getOrCreate()

imprimer la session d’étincelle

spark

Sortie

Chargement du jeu de données

df = spark.read.csv('/content/movies.csv')

Maintenant, exécutons différentes tâches en utilisant Pyspark

Étape -2 : Afficher les rangs

Ici, nous utilisons la méthode show pour afficher les 3 premières lignes sous la forme d’un ensemble de données. Si vous changez le nombre, vous pouvez voir un nombre différent de lignes. Et nous devons aussi ajouter un paramètre header dans le df.

# load dataset
df = spark.read.csv('/content/movies.csv', header=True)

df.show(3)

Sortie :

Étape -3 : Afficher les noms des colonnes

Ici, nous avons utilisé l’attribut columns pour afficher les colonnes de l’ensemble de données.

# load dataset
df = spark.read.csv('/content/movies.csv', header=True)

df.columns

Sortie :

Étape -4 : Afficher le type de données de chaque colonne

Ici nous utilisons la méthode printSchema pour montrer les types de données des colonnes et nous avons également ajouté le paramètre inferschema dans le df.

# load dataset
df = spark.read.csv('/content/movies.csv', header=True, inferSchema=True)
df.printSchema()

Sortie :

Etape -5 : Compter le nombre de rangées et de colonnes de l’ensemble de données

Pour afficher le nombre de lignes, nous utilisons la méthode de comptage.

df.count()

Pour afficher plusieurs colonnes, nous pouvons utiliser la méthode de la longueur sur la liste des colonnes.

len(df.columns)

Sortie :

Le nombre de lignes est de 77

Le nombre de colonnes est de 8

Étape 6 : Obtenir des statistiques globales sur l’ensemble de données

Pour afficher la statistique globale, nous utilisons la méthode describe et 

df.describe() .show()

Sortie :

Étape -7 : Trouver la valeur unique dans la colonne spécifique

Pour cela, nous utilisons la méthode toPandas pour convertir le cadre de données en cadre de données du panda, puis nous ajoutons le nom des colonnes et nous utilisons une méthode unique.

df.toPandas() ['Genre'].unique()

Sortie :

Etape -8 : Trouver le nombre total de valeurs uniques disponibles dans la colonne « Sexe ».

Nous utilisons simplement la méthode Len pour obtenir le nombre total.

len(df.toPandas() ['Genre'].unique())

Sortie :

Étape -9 : Comment sélectionner une ou plusieurs colonnes ?

Nous utilisons simplement la méthode de sélection pour afficher une seule colonne.

df.select('Film').show(5)

Sortie :

Afficher plusieurs colonnes 

df.select('Film', 'Year').show(5)

Sortie :

Etape -10 : Créer et mettre à jour une nouvelle colonne dans un cadre de données existant.

Pour créer une nouvelle colonne dans le cadre de données, nous utilisons la méthode withCoumn et pour le score, nous prenons une autre colonne et ajoutons +1 à la valeur et l’attribuons à notre nouvelle colonne.

df.withColumn('score',df.Year+1).show()

Sortie :

Comme vous pouvez le voir dans le résultat, la nouvelle colonne que nous avons créée a l’année+1 dans sa valeur. Cependant, après cela, notre nouvelle colonne n’apparaîtra pas dans le cadre de données. Pour cela, nous devons mettre à jour la nouvelle colonne.

df = df.withColumn('score',df.Year+1)
df.show()

Sortie :

Étape -11 : Renommer la colonne

Pour renommer le nom de la colonne, nous utilisons la méthode withColumnRenamed.

df = df.withColumnRenamed('Film', 'Movies')
df.show(5)

Sortie :

Comme vous pouvez le voir, nous avons changé le nom de la colonne « film » en « films ».

Étape -12 : Affichage des valeurs spécifiques

Nous allons afficher le nom des films dont le score d’audience est supérieur à 83. Pour cela, nous utilisons la méthode de filtrage et nous sélectionnons également des colonnes spécifiques à l’aide de la méthode de sélection.

df.filter(df['Audience score %']>83).select('Movies').show()

Sortie :

Étape -13 : Plusieurs conditions en même temps

Ici, nous devons afficher le nom des films de la catégorie animation dont le score d’audience est supérieur à 83. Pour cela, nous devons passer plusieurs conditions avec la méthode du filtre et les séparer en utilisant l’opérateur &.

df.filter((df['Audience score %']>83) & (df['Genre']=='Animation')).select('Movies').show()

Sortie :

Comme vous pouvez le voir dans le résultat, seuls deux films de la catégorie animation ont un score d’audience supérieur à 83.

Cet exemple est tout le contraire de l’exemple précédent. Nous affichons le nom des films dont le score d’audience est inférieur à 83. Pour cela, il suffit d’utiliser l’opérateur ~ et il affichera ce qui n’a pas cette condition.

df.filter((df['Audience score %']>83) & ~(df['Genre']=='Animation')).select('Movies').show(5)

Sortie :

Ces films ont un score d’audience inférieur à 83.

Étape -14 : Affichez les valeurs moyennes

Pour afficher les valeurs moyennes, nous créons d’abord un groupe de colonnes de genre à l’aide de la méthode groupby, puis nous utilisons la méthode de la moyenne pour obtenir les valeurs moyennes.

df.groupby('Genre').mean().show()

Sortie :

Étape -15 : Triez les lignes en ordre croissant et décroissant.

Pour les trier en ordre croissant, nous utilisons la méthode orderby.

df.orderBy(df['Audience score %']).show(10)

Sortie :

Pour les trier en ordre décroissant, nous utilisons la méthode orderby et avec cette méthode desc.

df.orderBy(df['Audience score %'].desc()).show(5)

Sortie :

Le mot de la fin

Nous espérons que vous avez apprécié ce blog sur l’utilisation des big data en utilisant Python et PySpark. Ce blog n’est qu’un aperçu de la bibliothèque Pyspark. Si vous souhaitez en savoir plus sur l’analyse des données ou explorer d’autres sujets importants que nous couvrons également, n’hésitez pas à consulter notre blog. Nous sommes convaincus que vous trouverez exactement ce que vous cherchez !