これはかなり基本的です。私は日付列を含むSparkデータフレームを持っているので、その日付以降の日数で新しい列を追加したい。 Googleのフーは私に失敗しています。pysparkの2つの日付間の時間を計算します
は、ここで私が試したものです:
from pyspark.sql.types import *
import datetime
today = datetime.date.today()
schema = StructType([StructField("foo", DateType(), True)])
l = [(datetime.date(2016,12,1),)]
df = sqlContext.createDataFrame(l, schema)
df = df.withColumn('daysBetween',today - df.foo)
df.show()
それはエラーで失敗します。
u"cannot resolve '(17212 - foo)' due to data type mismatch: '(17212 - foo)' requires (numeric or calendarinterval) type, not date;"
私の周りいじって試してみたが、どこにも得ていません。これはあまりにも難しいとは思いません。誰も助けることができますか?
だから、他の人が知ることができます。違いは、HTTPS日である://スパーク.apache.org/docs/2.1.0/api/python/pyspark.sql.html#pyspark.sql.functions.datediff – gabra