2016-12-27 2 views
1

私はsparkで新しく、今日のような現在の日付から来月の日付を表示する関数があります。 -2016を指定すると、関数は27-01-2017を返します。私はdate_add()を使用していますが、月を追加するための関数はありません。私はdate_add(date、31)を試しましたが、その月に30日があればどうなりますか?DATE_ADD(日付、月(int型))のように来月追加するpyspark関数があります

spark.sql("select date_add(current_date(),31)") .show() 

誰でもこの問題について助けてくれますか。私はそれのカスタム関数を記述する必要がありますか?コードがまだ組み込まれていないため、まだコードがありません。 ありがとうございます。 Kalyan

答えて

1

これは具体的ではありません。pysparkです。 add_monthsを使用できます。 スパーク1.5から利用可能です。例えば:

spark.sql("select current_date(), add_months(current_date(),1)").show() 
# +--------------+-----------------------------+ 
# |current_date()|add_months(current_date(), 1)| 
# +--------------+-----------------------------+ 
# | 2016-12-27|     2017-01-27| 
# +--------------+-----------------------------+ 

またヶ月を削除するには負の整数を使用することができます。

spark.sql("select current_date(), add_months(current_date(),-1) as last_month").show() 
# +--------------+----------+ 
# |current_date()|last_month| 
# +--------------+----------+ 
# | 2016-12-27|2016-11-27| 
# +--------------+----------+ 
関連する問題