Я использую PySpark. У меня есть столбец ('dt') в dataframe ('canon_evt'), что это временная метка. Я пытаюсь удалить секунды из значения DateTime. Он изначально читается из паркета как String. Затем я пытаюсь преобразовать его в отметку времени черезPySpark 1.5 Как сократить временную метку до ближайшей минуты с секунд
canon_evt = canon_evt.withColumn('dt',to_date(canon_evt.dt))
canon_evt= canon_evt.withColumn('dt',canon_evt.dt.astype('Timestamp'))
Тогда я хотел бы удалить секунды. Я попробовал «trunc», «date_format» или даже попытался объединить фрагменты, как показано ниже. Я думаю, что для этого требуется какая-то карта и комбинация лямбда, но я не уверен, является ли Timestamp подходящим форматом и можно ли избавиться от секунд.
canon_evt = canon_evt.withColumn('dyt',year('dt') + '-' + month('dt') +
'-' + dayofmonth('dt') + ' ' + hour('dt') + ':' + minute('dt'))
[Row(dt=datetime.datetime(2015, 9, 16, 0, 0),dyt=None)]
Не могли бы вы опубликовать, как это выглядит, когда вы читаете паркет? – WoodChopper
[Row (dt = '2015-09-16 05:39:46')], Row (dt = '2015-09-16 05:40:46')] – PR102012
'zero323', спасибо за супер быстрый Помогите! – PR102012