Pyspark - Fonctions de date

Pyspark - Fonctions de date
Dans Python, Pyspark est un module Spark utilisé pour fournir un type de traitement similaire comme Spark en utilisant DataFrame.

Nous discuterons des fonctions de date à Pyspark. Créons d'abord un dataframe

Exemple:
Ici, nous allons créer Pyspark DataFrame avec 5 rangées et 3 colonnes avec des dates.

# importer le module Pyspark
Importer Pyspark
#mport Sparkcession pour la création d'une session
de Pyspark.SQL IMPORT SPARKSESSE
#create une application nommée Linuxhint
Spark_App = Sparkcession.constructeur.appname ('Linuxhint').getorCreate ()
# Créer des données étudiants avec 5 lignes et 3 attributs
étudiants = ['rollno': '001', 'name': 'sravan', 'admis_date': '2022-01-25',
'rollno': '002', 'name': 'Deepika', 'admis_date': '2022-02-11',
'rollno': '003', 'name': 'chandrika', 'admis_date': '2022-02-02',
'rollno': '004', 'name': 'akash', 'admis_date': '2021-04-12',
'rollno': '005', 'name': 'thanaja', 'admis_date': '2022-01-25'
]]
# Créer le DataFrame
df = spark_app.CreatedataFrame (étudiants)
# Afficher DataFrame
df.montrer()

Sortir:

Dadiff ()

Cette méthode est utilisée pour retourner le nombre de jours entre la date actuelle et la date donnée. Pour utiliser cette méthode, nous devons l'importer de SQL.les fonctions. Donc, nous importons simplement toutes les méthodes de Pyspark.SQL.les fonctions.

Syntaxe:
DADIFF (col ("Column_Date1"), Col ("Column_Date2")).alias ("result_column")

où:

  1. Column_Date1 est une colonne de première date
  2. Column_Date2 est la deuxième date de la colonne soustraite de Column_Date1.
  3. L'alias est utilisé pour spécifier l'étiquette pour la colonne de résultat

Nous pouvons afficher le DataFrame résultant en passant cette méthode dans SELECT () Méthode.

Syntaxe:

df.select (DADIFF (col ("Column_Date1"), Col ("Column_Date2")).alias ("result_column")
)

Nous pouvons également soustraire la colonne de date avec la date actuelle. Nous pouvons obtenir la date actuelle à l'aide de la fonction current_date ().

Exemple:
Dans cet exemple, nous allons soustraire la colonne admis_date de current_date () comme différence de date en sélectionnant current_date () et admis_date et pour afficher le dataframe à l'aide de la méthode show ().

# importer le module Pyspark
Importer Pyspark
#mport Sparkcession pour la création d'une session
de Pyspark.SQL IMPORT SPARKSESSE
# Importer toutes les fonctions SQL
de Pyspark.SQL.Fonctions Import *
#create une application nommée Linuxhint
Spark_App = Sparkcession.constructeur.appname ('Linuxhint').getorCreate ()
# Créer des données étudiants avec 5 lignes et 3 attributs
étudiants = ['rollno': '001', 'name': 'sravan', 'admis_date': '2022-01-25',
'rollno': '002', 'name': 'Deepika', 'admis_date': '2022-02-11',
'rollno': '003', 'name': 'chandrika', 'admis_date': '2022-02-02',
'rollno': '004', 'name': 'akash', 'admis_date': '2021-04-12',
'rollno': '005', 'name': 'thanaja', 'admis_date': '2022-01-25'
]]
# Créer le DataFrame
df = spark_app.CreatedataFrame (étudiants)
# Calculer la différence de date par rapport à la date actuelle - 2022-02-15 avec admis_date
df.select (current_date (), col ("admis_date"), dadiff (current_date (), col ("admis_date"))).alias ("différence de date")).montrer()

Sortir:

mois_between ()

Cette méthode est utilisée pour retourner le nombre de mois entre la date actuelle et la date donnée. Pour utiliser cette méthode, nous devons l'importer de SQL.les fonctions. Donc, nous importons toutes les méthodes de Pyspark.SQL.les fonctions.

Syntaxe:
mois_between (col ("Column_Date1"), col ("Column_Date2")).alias ("result_column")

où:

  1. Column_Date1 est une colonne de première date
  2. Column_Date2 est la deuxième date de la colonne soustraite de Column_Date1.
  3. L'alias est utilisé pour spécifier l'étiquette pour la colonne de résultat

Nous pouvons afficher le DataFrame résultant en passant cette méthode dans SELECT () Méthode.

Syntaxe:
df.select (mois_between (col ("Column_Date1"), col ("Column_Date2")).alias ("result_column")
)

Nous pouvons également soustraire la colonne de date avec la date actuelle. Nous pouvons obtenir la date actuelle à l'aide de la fonction current_date ().

Exemple:
Dans cet exemple, nous obtiendrons les mois entre la colonne Admis_Date et Current_Date () comme des mois en sélectionnant Current_Date () et Admis_Date et pour afficher la méthode DataFrame à l'aide de Show ().

# importer le module Pyspark
Importer Pyspark
#mport Sparkcession pour la création d'une session
de Pyspark.SQL IMPORT SPARKSESSE
# Importer toutes les fonctions SQL
de Pyspark.SQL.Fonctions Import *
#create une application nommée Linuxhint
Spark_App = Sparkcession.constructeur.appname ('Linuxhint').getorCreate ()
# Créer des données étudiants avec 5 lignes et 3 attributs
étudiants = ['rollno': '001', 'name': 'sravan', 'admis_date': '2022-01-25',
'rollno': '002', 'name': 'Deepika', 'admis_date': '2022-02-11',
'rollno': '003', 'name': 'chandrika', 'admis_date': '2022-02-02',
'rollno': '004', 'name': 'akash', 'admis_date': '2021-04-12',
'rollno': '005', 'name': 'thanaja', 'admis_date': '2022-01-25'
]]
# Créer le DataFrame
df = spark_app.CreatedataFrame (étudiants)
# Obtenez les mois entre la date en cours - 2022-02-15 et admis_date
df.select (current_date (), col ("admis_date"), mois_between (current_date (), col ("admis_date")).alias ("mois")).montrer()

Sortir:

add_months ()

Cette méthode est utilisée pour ajouter des mois à la date donnée.

Syntaxe:
trame de données.select (add_months (col ("colonne"), numéro_of_months).alias ("result_column"))

où,

  1. la colonne est la colonne de date
  2. Number_Of_Months est le nombre total de mois à ajouter à la date de la colonne.
  3. L'alias est utilisé pour spécifier l'étiquette pour la colonne de résultat.

Exemple:
Dans cet exemple, nous ajouterons des mois à l'admission_date et afficherons la méthode DataFrame à l'aide de Show ().

# importer le module Pyspark
Importer Pyspark
#mport Sparkcession pour la création d'une session
de Pyspark.SQL IMPORT SPARKSESSE
# Importer toutes les fonctions SQL
de Pyspark.SQL.Fonctions Import *
#create une application nommée Linuxhint
Spark_App = Sparkcession.constructeur.appname ('Linuxhint').getorCreate ()
# Créer des données étudiants avec 5 lignes et 3 attributs
étudiants = ['rollno': '001', 'name': 'sravan', 'admis_date': '2022-01-25',
'rollno': '002', 'name': 'Deepika', 'admis_date': '2022-02-11',
'rollno': '003', 'name': 'chandrika', 'admis_date': '2022-02-02',
'rollno': '004', 'name': 'akash', 'admis_date': '2021-04-12',
'rollno': '005', 'name': 'thanaja', 'admis_date': '2022-01-25'
]]
# Créer le DataFrame
df = spark_app.CreatedataFrame (étudiants)
# Ajouter 12 mois à l'admission_date
df.select (col ("admis_date"), add_months (col ("admis_date"), 12).alias ("après 12 mois")).montrer()
# Ajouter 4 mois à l'admission_date
df.select (col ("admis_date"), add_months (col ("admis_date"), 4).alias ("après 4 mois")).montrer()
# Ajouter 6 mois à l'admission_date
df.select (col ("admis_date"), add_months (col ("admis_date"), 6).alias ("après 6 mois")).montrer()

Sortir:

date_add ()

Cette méthode est utilisée pour ajouter des jours à la date donnée.

Syntaxe:
trame de données.SELECT (date_add (col ("colonne"), numéro_of_days).alias ("result_column"))

Où:

  1. la colonne est la colonne de date
  2. Number_of_days est le nombre total de jours à ajouter à la date de la colonne.
  3. L'alias est utilisé pour spécifier l'étiquette pour la colonne de résultat.

Exemple:
Dans cet exemple, nous ajouterons des jours à l'admission_date et afficherons la méthode DataFrame à l'aide de Show ().

# importer le module Pyspark
Importer Pyspark
#mport Sparkcession pour la création d'une session
de Pyspark.SQL IMPORT SPARKSESSE
# Importer toutes les fonctions SQL
de Pyspark.SQL.Fonctions Import *
#create une application nommée Linuxhint
Spark_App = Sparkcession.constructeur.appname ('Linuxhint').getorCreate ()
# Créer des données étudiants avec 5 lignes et 3 attributs
étudiants = ['rollno': '001', 'name': 'sravan', 'admis_date': '2022-01-25',
'rollno': '002', 'name': 'Deepika', 'admis_date': '2022-02-11',
'rollno': '003', 'name': 'chandrika', 'admis_date': '2022-02-02',
'rollno': '004', 'name': 'akash', 'admis_date': '2021-04-12',
'rollno': '005', 'name': 'thanaja', 'admis_date': '2022-01-25'
]]
# Créer le DataFrame
df = spark_app.CreatedataFrame (étudiants)
# Ajouter 12 jours à l'admission_date
df.select (col ("admis_date"), date_add (col ("admis_date"), 12).alias ("après 12 jours")).montrer()
# Ajouter 4 jours à l'admission_date
df.select (col ("admis_date"), date_add (col ("admis_date"), 4).alias ("après 4 jours")).montrer()
# Ajouter 6 jours à l'admission_date
df.select (col ("admis_date"), date_add (col ("admis_date"), 6).alias ("après 6 jours")).montrer()

Sortir:

date_sub ()

Cette méthode est utilisée pour soustraire les jours à la date donnée.

Syntaxe:
trame de données.sélectionnez (date_sub (col ("colonne"), numéro_of_days).alias ("result_column"))

Où:

  1. la colonne est la colonne de date
  2. Number_of_days est le nombre total de jours à soustraiter de la date de colonne.
  3. L'alias est utilisé pour spécifier l'étiquette pour la colonne de résultat.

Exemple:
Dans cet exemple, nous allons soustraire des jours de l'admission_date et afficherons le dataframe à l'aide de la méthode show ().

# importer le module Pyspark
Importer Pyspark
#mport Sparkcession pour la création d'une session
de Pyspark.SQL IMPORT SPARKSESSE
# Importer toutes les fonctions SQL
de Pyspark.SQL.Fonctions Import *
#create une application nommée Linuxhint
Spark_App = Sparkcession.constructeur.appname ('Linuxhint').getorCreate ()
# Créer des données étudiants avec 5 lignes et 3 attributs
étudiants = ['rollno': '001', 'name': 'sravan', 'admis_date': '2022-01-25',
'rollno': '002', 'name': 'Deepika', 'admis_date': '2022-02-11',
'rollno': '003', 'name': 'chandrika', 'admis_date': '2022-02-02',
'rollno': '004', 'name': 'akash', 'admis_date': '2021-04-12',
'rollno': '005', 'name': 'thanaja', 'admis_date': '2022-01-25'
]]
# Créer le DataFrame
df = spark_app.CreatedataFrame (étudiants)
# soustrait 12 jours de l'admission_date
df.select (col ("admis_date"), date_sub (col ("admis_date"), 12).alias ("avant 12 jours")).montrer()
# soustrait 4 jours de l'admission_date
df.select (col ("admis_date"), date_sub (col ("admis_date"), 4).alias ("avant 4 jours")).montrer()
# soustrait 6 jours de l'admission_date
df.select (col ("admis_date"), date_sub (col ("admis_date"), 6).alias ("avant 6 jours")).montrer()

Sortir:

année()

an () est utilisé pour retourner l'année à partir de la date donnée.

Syntaxe:
trame de données.select (année (col («colonne»)).alias ("result_column"))

Où:

  1. la colonne est la colonne de date
  2. L'alias est utilisé pour spécifier l'étiquette pour la colonne de résultat.

Exemple:
Dans cet exemple, nous extraire l'année de la colonne Admis_Date et afficher la colonne de l'année à l'aide de la méthode Show ().

# importer le module Pyspark
Importer Pyspark
#mport Sparkcession pour la création d'une session
de Pyspark.SQL IMPORT SPARKSESSE
# Importer toutes les fonctions SQL
de Pyspark.SQL.Fonctions Import *
#create une application nommée Linuxhint
Spark_App = Sparkcession.constructeur.appname ('Linuxhint').getorCreate ()
# Créer des données étudiants avec 5 lignes et 3 attributs
étudiants = ['rollno': '001', 'name': 'sravan', 'admis_date': '2022-01-25',
'rollno': '002', 'name': 'Deepika', 'admis_date': '2022-02-11',
'rollno': '003', 'name': 'chandrika', 'admis_date': '2022-02-02',
'rollno': '004', 'name': 'akash', 'admis_date': '2021-04-12',
'rollno': '005', 'name': 'thanaja', 'admis_date': '2022-01-25'
]]
# Créer le DataFrame
df = spark_app.CreatedataFrame (étudiants)
# Sélectionner une année dans la colonne admis_date
df.select (année (col ("admis_date")).alias ("année")).montrer()

Sortir:

mois()

mois () est utilisé pour retourner le mois à partir de la date donnée.

Syntaxe:
trame de données.select (mois (col («colonne»)).alias ("result_column"))

Où:

  1. la colonne est la colonne de date
  2. L'alias est utilisé pour spécifier l'étiquette pour la colonne de résultat.

Exemple:
Dans cet exemple, nous extraire le mois du Admis_Date et afficherons la colonne du mois à l'aide de la méthode Show ().

# importer le module Pyspark
Importer Pyspark
#mport Sparkcession pour la création d'une session
de Pyspark.SQL IMPORT SPARKSESSE
# Importer toutes les fonctions SQL
de Pyspark.SQL.Fonctions Import *
#create une application nommée Linuxhint
Spark_App = Sparkcession.constructeur.appname ('Linuxhint').getorCreate ()
# Créer des données étudiants avec 5 lignes et 3 attributs
étudiants = ['rollno': '001', 'name': 'sravan', 'admis_date': '2022-01-25',
'rollno': '002', 'name': 'Deepika', 'admis_date': '2022-02-11',
'rollno': '003', 'name': 'chandrika', 'admis_date': '2022-02-02',
'rollno': '004', 'name': 'akash', 'admis_date': '2021-04-12',
'rollno': '005', 'name': 'thanaja', 'admis_date': '2022-01-25'
]]
# Créer le DataFrame
df = spark_app.CreatedataFrame (étudiants)
# Sélectionnez Mois dans la colonne Admis_Date
df.select (mois (col ("admis_date")).alias ("mois")).montrer()

Sortir:

dayofmonth (), dayofweek (), dayofyear ()

dayofmonth () est utilisé pour revenir le jour du mois à partir de la date donnée.
DayOfweek () est utilisé pour retourner le jour de la semaine à partir de la date donnée.
Dayofyear () est utilisé pour retourner le jour de l'année à partir de la date donnée.

Syntaxe:
trame de données.select (dayofmonth (col («colonne»)).alias ("result_column"))
trame de données.select (dayofweek (col («colonne»)).alias ("result_column"))
trame de données.select (dayofyear (col («colonne»)).alias ("result_column"))

où:

  1. la colonne est la colonne de date
  2. L'alias est utilisé pour spécifier l'étiquette pour la colonne de résultat.

Exemple:
Dans cet exemple, nous extraireons le jour de la semaine, du mois et de l'année à partir de la méthode admis_date et afficher en utilisant Show ().

# importer le module Pyspark
Importer Pyspark
#mport Sparkcession pour la création d'une session
de Pyspark.SQL IMPORT SPARKSESSE
# Importer toutes les fonctions SQL
de Pyspark.SQL.Fonctions Import *
#create une application nommée Linuxhint
Spark_App = Sparkcession.constructeur.appname ('Linuxhint').getorCreate ()
# Créer des données étudiants avec 5 lignes et 3 attributs
étudiants = ['rollno': '001', 'name': 'sravan', 'admis_date': '2022-01-25',
'rollno': '002', 'name': 'Deepika', 'admis_date': '2022-02-11',
'rollno': '003', 'name': 'chandrika', 'admis_date': '2022-02-02',
'rollno': '004', 'name': 'akash', 'admis_date': '2021-04-12',
'rollno': '005', 'name': 'thanaja', 'admis_date': '2022-01-25'
]]
# Créer le DataFrame
df = spark_app.CreatedataFrame (étudiants)
# SELECT JOUR DE SEMAINE D'ADMISSE_DATE COLUMNE
df.select (dayofweek (col ("admis_date")).alias ("Jour de la semaine")).montrer()
# SELECT DAY OF MOIND dans la colonne Admis_Date
df.select (dayofmonth (col ("admis_date")).alias ("Jour du mois")).montrer()
# Sélectionner le jour de l'année dans la colonne admis_date
df.select (dayofyear (col ("admis_date")).alias ("Jour de l'année")).montrer()

Sortir:

Conclusion

À partir de cet article, nous avons appris à utiliser les fonctions de date sur Pyspark DataFrame. Ceux-ci sont très utiles dans les applications Dateapi. Il est également sur la façon d'ajouter des jours et des colonnes à la date existante.