Pyspark Array_Contains

Pyspark Array_Contains
Cet article présentera et démontrera Pyspark Array_Contains () méthode. La méthode est utilisée pour vérifier si des valeurs spécifiques existent à l'intérieur d'un tableau dans Pyspark.

Dans cet article, nous devons créer un dataframe avec un tableau. Créons un dataframe avec 2 colonnes. La première colonne est Student_category qui fait référence au champ entier pour stocker les identifiants étudiants. La deuxième colonne - Student_full_name est utilisée pour stocker les valeurs de chaîne dans un tableau créé à l'aide d'ArrayType ().

# importer le module Pyspark
Importer Pyspark
#mport Sparkcession pour la création d'une session
de Pyspark.SQL IMPORT SPARKSESSE
# et importent des types de structures et d'autres types de données
de Pyspark.SQL.Types Import StructType, StructField, StringType, IntegerType, FloatType, ArrayType
de Pyspark.SQL.Fonctions Importer Array_Contains
#create une application nommée Linuxhint
Spark_App = Sparkcession.constructeur.appname ('Linuxhint').getorCreate ()
# Envisagez un tableau avec 5 éléments
my_array_data = [(1, ['a']), (2, ['b', 'l', 'b']), (3, ['k', 'a', 'k']), ( 4, ['k']), (3, ['b', 'p'])]]
#Define le structure et les structures
# pour les données ci-dessus
schéma = structType ([structField ("Student_Category", IntegerType ()), StructField ("Student_full_name", ArrayType (StringType ()))])
# réintégrer le dataframe et ajouter un schéma au dataframe
df = spark_app.CreateDataFrame (my_array_data, schéma = schéma)
df.montrer()

Sortir:

Maintenant, nous verrons ce que faire Array_Contains ().

Array_Contains () est utilisé pour vérifier si le tableau a l'élément spécifié. Si oui, il reviendra vrai, sinon faux.

Ceci est possible à vérifier en utilisant la méthode SELECT (). À l'intérieur de cette méthode, nous pouvons utiliser la fonction Array_Contains () et renvoyer le résultat.

Syntaxe:

trame de données.SELECT (array_contains (array_column, valeur '))

Paramètres:

  1. Array_Column contient des valeurs de type de tableau
  2. La valeur est utilisée pour vérifier si elle existe dans l'array_column ou non.

Retour:

Il renverra vrai / false sur toutes les lignes d'une colonne de tableau.

Exemple 1:

Dans cet exemple, nous vérifierons si la colonne Student_Full_name a «l» dans toutes les lignes en utilisant la fonction array_conontains ().

# importer le module Pyspark
Importer Pyspark
#mport Sparkcession pour la création d'une session
de Pyspark.SQL IMPORT SPARKSESSE
# et importent des types de structures et d'autres types de données
de Pyspark.SQL.Types Import StructType, StructField, StringType, IntegerType, FloatType, ArrayType
de Pyspark.SQL.Fonctions Importer Array_Contains
#create une application nommée Linuxhint
Spark_App = Sparkcession.constructeur.appname ('Linuxhint').getorCreate ()
# Envisagez un tableau avec 5 éléments
my_array_data = [(1, ['a']), (2, ['b', 'l', 'b']), (3, ['k', 'a', 'k']), ( 4, ['k']), (3, ['b', 'p'])]]
#Define le structure et les structures
# pour les données ci-dessus
schéma = structType ([structField ("Student_Category", IntegerType ()), StructField ("Student_full_name", ArrayType (StringType ()))])
# réintégrer le dataframe et ajouter un schéma au dataframe
df = spark_app.CreateDataFrame (my_array_data, schéma = schéma)
# Vérifiez le Student_full_name - L dans toutes les lignes à l'aide de la fonction Array_Contains ().
df.SELECT ("Student_full_name", array_contains ('student_full_name', 'l')).montrer()

Sortir:

Ici, nous avons sélectionné Student_Full_Name Colonnes. La première colonne est la colonne réelle et la deuxième colonne est le résultat renvoyé par Array_Contains ().

Seule la deuxième ligne a une valeur «l», donc elle renvoie vrai, et le reste résulte de faux.

Exemple 2:

Dans cet exemple, nous vérifierons si la colonne Student_Full_name a «K» dans toutes les lignes en utilisant la fonction array_conontains ().

# importer le module Pyspark
Importer Pyspark
#mport Sparkcession pour la création d'une session
de Pyspark.SQL IMPORT SPARKSESSE
# et importent des types de structures et d'autres types de données
de Pyspark.SQL.Types Import StructType, StructField, StringType, IntegerType, FloatType, ArrayType
de Pyspark.SQL.Fonctions Importer Array_Contains
#create une application nommée Linuxhint
Spark_App = Sparkcession.constructeur.appname ('Linuxhint').getorCreate ()
# Envisagez un tableau avec 5 éléments
my_array_data = [(1, ['a']), (2, ['b', 'l', 'b']), (3, ['k', 'a', 'k']), ( 4, ['k']), (3, ['b', 'p'])]]
#Define le structure et les structures
# pour les données ci-dessus
schéma = structType ([structField ("Student_Category", IntegerType ()), StructField ("Student_full_name", ArrayType (StringType ()))])
# réintégrer le dataframe et ajouter un schéma au dataframe
df = spark_app.CreateDataFrame (my_array_data, schéma = schéma)
# Vérifiez l'étudiant_full_name - k dans toutes les lignes à l'aide de la fonction array_contitains ().
df.SELECT ("Student_full_name", array_contains ('Student_full_name', 'K')).montrer()

Sortir:

Ici, nous avons sélectionné Student_Full_Name Colonnes. La première colonne est la colonne réelle et la deuxième colonne est le résultat renvoyé par Array_Contains ().

Seule la troisième et quatrième rangée a une valeur «k», donc elle renvoie vrai, et le reste résulte de false.

Maintenant, si vous souhaitez renvoyer la ligne entière dans le DataFrame, en fonction de la valeur spécifiée dans la méthode Array_Contains (), vous pouvez utiliser la clause WHERE ou Filter () au lieu de SELECT CLAUSE.

Exemple 1: en utilisant où ()

Dans cet exemple, nous retournerons la ligne où la colonne Student_Full_name a «k» en utilisant la fonction array_conntains ().

# importer le module Pyspark
Importer Pyspark
#mport Sparkcession pour la création d'une session
de Pyspark.SQL IMPORT SPARKSESSE
# et importent des types de structures et d'autres types de données
de Pyspark.SQL.Types Import StructType, StructField, StringType, IntegerType, FloatType, ArrayType
de Pyspark.SQL.Fonctions Importer Array_Contains
#create une application nommée Linuxhint
Spark_App = Sparkcession.constructeur.appname ('Linuxhint').getorCreate ()
# Envisagez un tableau avec 5 éléments
my_array_data = [(1, ['a']), (2, ['b', 'l', 'b']), (3, ['k', 'a', 'k']), ( 4, ['k']), (3, ['b', 'p'])]]
#Define le structure et les structures
# pour les données ci-dessus
schéma = structType ([structField ("Student_Category", IntegerType ()), StructField ("Student_full_name", ArrayType (StringType ()))])
# réintégrer le dataframe et ajouter un schéma au dataframe
df = spark_app.CreateDataFrame (my_array_data, schéma = schéma)
# Renvoie la fonction Student_full_name - K à l'aide de l'array_contitains ().
df.Où (Array_Contains ('Student_full_name', 'K')).montrer()

Sortir:

Vous pouvez voir que les lignes ont été renvoyées là où l'étudiant_full_name a une valeur k.

Exemple 2: Utilisation de filtre ()

Dans cet exemple, nous retournerons la ligne où la colonne Student_Full_name a «k» en utilisant la fonction array_conontains () avec la clause filtre.

# importer le module Pyspark
Importer Pyspark
#mport Sparkcession pour la création d'une session
de Pyspark.SQL IMPORT SPARKSESSE
# et importent des types de structures et d'autres types de données
de Pyspark.SQL.Types Import StructType, StructField, StringType, IntegerType, FloatType, ArrayType
de Pyspark.SQL.Fonctions Importer Array_Contains
#create une application nommée Linuxhint
Spark_App = Sparkcession.constructeur.appname ('Linuxhint').getorCreate ()
# Envisagez un tableau avec 5 éléments
my_array_data = [(1, ['a']), (2, ['b', 'l', 'b']), (3, ['k', 'a', 'k']), ( 4, ['k']), (3, ['b', 'p'])]]
#Define le structure et les structures
# pour les données ci-dessus
schéma = structType ([structField ("Student_Category", IntegerType ()), StructField ("Student_full_name", ArrayType (StringType ()))])
# réintégrer le dataframe et ajouter un schéma au dataframe
df = spark_app.CreateDataFrame (my_array_data, schéma = schéma)
# Renvoie la fonction Student_full_name - K à l'aide de l'array_contitains ().
df.Filter (array_contitains ('Student_full_name', 'K')).montrer()

Sortir:

Vous pouvez voir que les lignes ont été renvoyées là où l'étudiant_full_name a une valeur k.

Conclusion

Nous avons appris que Array_Contains () est utilisé pour vérifier si la valeur est présente dans un tableau de colonnes. Cela peut être réalisé en utilisant la clause SELECT.

Si vous avez besoin de retourner les lignes où le tableau contient des valeurs, alors au lieu de sélectionner, vous pouvez utiliser la clause d'où ou de filtre.