【发布时间】:2016-03-17 20:50:22
【问题描述】:
我正在使用 PySpark。我在数据框('canon_evt')中有一个列('dt'),这是一个时间戳。我正在尝试从 DateTime 值中删除秒。它最初是从 parquet 作为字符串读入的。然后我尝试通过
将其转换为时间戳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”,甚至尝试将片段连接在一起,如下所示。我认为它需要某种 map 和 lambda 组合,但我不确定 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)]
【问题讨论】:
-
你能贴出你从镶木地板上读到的样子吗?
-
[Row(dt='2015-09-16 05:39:46')] , Row(dt='2015-09-16 05:40:46')]
-
'zero323' ,感谢您的超级快速帮助!
标签: python datetime apache-spark apache-spark-sql pyspark