2017-05-30 35 views
0

誰かが既に存在する日に日を追加する方法を教えてください。例:開始日に30日を追加したいのですが、印刷したいと思います。 私はこれを試していますVelocityで日付を追加する

set($pageParameters.wiEndDate = ($pageParameters.wiStartDate+ 30)) 

しかし、動作しません。誰もがAPIや入手方法を教えてもらえますか?あなたは

ここorg.apache.spark.sql.functions._add_months()機能を既存のDateTypeフィールドにしたい場合は、あなたが月を追加することができますorg.apache.spark.sql.functions._date_add(column, no of days)

機能を使用することができますDateTypeフィールドに日数を追加するために探している場合 はあなた

答えて

0

ありがとうございましたあなたを明確にする簡単な例です。

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 
+0

ありがとうございますが、自動的に日付を取得する必要があり、30日を追加する必要があります。 –

+0

例として、開始日20-04-2016と終了日30-06-2016を入力します。開始日に30日を自動的に追加し、出力を20-05-2016として表示します。 –

+0

私は列を使用しません。 2つの変数を使用しました。終了日と開始日 –

関連する問題