1
'01-FEB-2013'これは私の日付です。結果を01-Mar-2013とするにはどうすればよいですか?SqlContextを使用して月に月を追加したい
SELECT DATE_ADD('2011-01-01', INTERVAL 1 month);
mySql.Iはそれが可能ですScalaでsqlContextを使用して結果を望んでこれは可能ですか?
'01-FEB-2013'これは私の日付です。結果を01-Mar-2013とするにはどうすればよいですか?SqlContextを使用して月に月を追加したい
SELECT DATE_ADD('2011-01-01', INTERVAL 1 month);
mySql.Iはそれが可能ですScalaでsqlContextを使用して結果を望んでこれは可能ですか?
あなたはorg.apache.spark.sql.functions.add_months
を使用したいと思うでしょう。ここ
def add_months(startDate: Column, numMonths: Int): Column
"Returns the date that is numMonths after startDate."
は、その使用方法の一例です:
scala> val df = sc.parallelize((0 to 6).map(i =>
{now.setMonth(i); (i, new java.sql.Date(now.getTime))}).toSeq)
.toDF("ID", "Dates")
df: org.apache.spark.sql.DataFrame = [ID: int, Dates: date]
scala> df.show
+---+----------+
| ID| Dates|
+---+----------+
| 0|2016-01-21|
| 1|2016-02-21|
| 2|2016-03-21|
| 3|2016-04-21|
| 4|2016-05-21|
| 5|2016-06-21|
| 6|2016-07-21|
+---+----------+
scala> df.withColumn("New Dates", add_months(df("Dates"),1)).show
+---+----------+----------+
| ID| Dates| New Dates|
+---+----------+----------+
| 0|2016-01-21|2016-02-21|
| 1|2016-02-21|2016-03-21|
| 2|2016-03-21|2016-04-21|
| 3|2016-04-21|2016-05-21|
| 4|2016-05-21|2016-06-21|
| 5|2016-06-21|2016-07-21|
| 6|2016-07-21|2016-08-21|
+---+----------+----------+
おかげで/その – Ajith
いいえ問題を作業していない、あなたはこの答えが有用であることが分かっている場合してください[upvoteをevan058それを受け入れる](http://stackoverflow.com/help/someone-answers) –
データがこの形式の2016-FEB-02で、2016-MAR-02に変更する必要がある場合。どのように解決するのですか? – Ajith