Si vous cherchez à ajouter un jour dans un champ DateType
vous pouvez utiliser une fonction org.apache.spark.sql.functions._date_add(column, no of days)
Vous pouvez ajouter un mois si vous voulez dans un champ DateType
existant avec org.apache.spark.sql.functions._add_months()
fonction
ici est un exemple simple pour vous rendre clair.
val spark =
SparkSession.builder().master("local").appName("test").getOrCreate()
import spark.implicits._
val data = spark.sparkContext.parallelize(
Seq((0, "2016-01-1"),
(1, "2016-02-2"),
(2, "2016-03-22"),
(3, "2016-04-25"),
(4, "2016-05-21"),
(5, "2016-06-1"),
(6, "2016-03-21"))
).toDF("id", "date")
//Cast to date type
val data1 = data.withColumn("date", $"date".cast(DateType))
//add 1 month in each row
data.withColumn("date", add_months($"date", 1)).show
//add 30 days in each row
data.withColumn("date", date_add($"date", 30)).show
Merci pour votre réponse mais il devrait prendre automatiquement la date et il devrait ajouter 30 jours. –
Par exemple, l'utilisateur entrez la date de début 20-04-2016 et la date de fin 30-06-2016.Il devrait automatiquement ajouter 30 jours pour commencer les jours et afficher la sortie en tant que 20-05-2016 Merci –
Je din't utiliser la colonne, je juste utilisé deux variables date de fin et la date de début –