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