减少PySpark中的DateTime对象

时间:2016-11-11 20:03:25

标签: python pyspark spark-dataframe

我有两个DF。其中一个日期时间为DATE=datetime.date(2014, 2, 1),另一个日期时间为pickup_time=datetime.datetime(2014, 2, 9, 14, 51)。问题是我无法加入这两个DataFrame,因为有一个小时/分钟/秒因此PySpark无法加入它们。是使用额外时间格式重新格式化数据框中日期时间的正确方法,还是有一种方法可以加入忽略小时/分钟/秒的DataFrames。我该怎么做呢?

1 个答案:

答案 0 :(得分:1)

您可以在加入期间投射类型,例如:

>>> df1.first();
Row(date=datetime.date(2016, 11, 11))
>>> df2.first();
Row(date=datetime.datetime(2016, 11, 11, 21, 8))
>>> df1.join(df2, df1.date == df2.date.cast('date')).first()
Row(date=datetime.date(2016, 11, 11), date=datetime.datetime(2016, 11, 11, 21, 8))