【发布时间】:2017-02-15 22:05:27
【问题描述】:
希望这是相当基本的。我有一个包含日期列的 Spark 数据框,我想添加一个新列,其中包含自该日期以来的天数。 Google fu 让我失望了。
这是我尝试过的:
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"由于数据类型不匹配,无法解析 '(17212 - foo)':'(17212 - foo)' 需要(数字或日历间隔)类型,而不是日期;"
我试过摆弄,但一无所获。我不能认为这太难了。有人可以帮忙吗?
【问题讨论】:
标签: apache-spark pyspark apache-spark-sql