我有两个df。一个是datetime为DATE=datetime.date(2014, 2, 1)
,另一个是datetime为pickup_time=datetime.datetime(2014, 2, 9, 14, 51)
。问题是我无法加入两个dataframe,因为一个有小时/分钟/秒,所以PySpark无法加入它们。是否使用额外的时间格式重新格式化数据框中的日期时间的正确方法,或者是否有一种方法来连接忽略小时/分钟/秒的数据框。我该怎么做呢?
可以在连接期间强制转换类型,例如:
>>> 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))