【发布时间】:2016-08-22 20:47:06
【问题描述】:
我正在通过 Spark 1.5.0 使用 PySpark。 我在日期时间值的列的行中有一个不寻常的字符串格式。它看起来像这样:
Row[(datetime='2016_08_21 11_31_08')]
有没有办法将这种非正统的yyyy_mm_dd hh_mm_dd 格式转换为时间戳?
最终可能会出现
df = df.withColumn("date_time",df.datetime.astype('Timestamp'))
我曾认为像regexp_replace 这样的 Spark SQL 函数可以工作,但我当然需要替换
_ 与 - 在日期的一半
和_ 和: 在时间部分。
我在想我可以使用 substring 将列分成 2 列,然后从时间的尽头倒数。然后分别执行“regexp_replace”,然后连接。但这似乎很多操作?有没有更简单的方法?
【问题讨论】:
标签: apache-spark dataframe pyspark apache-spark-sql timestamp