如何在pyspark中将日期格式“YYYY-MM-DD”转换为ddMMyy?

use*_*834 -1 date-format pyspark

我尝试使用 to_date 将日期格式 2018-07-12 转换为 ddMMyy 但在转换日期格式后我得到 null

df = spark.createDataFrame([('2018-07-12',)], ['Date_col'])

df = df.withColumn('new_date',to_date('Date_col', 'ddMMyy'))
Run Code Online (Sandbox Code Playgroud)

我需要使用这个逻辑来转换数据帧列。我是 Spark 编程的新手,尝试了很多解决方案,但没有任何帮助。

我需要连接一列中的 ddMMyy 和另一列中的 hhss

有什么帮助吗?

Fox*_* Ng 5

您可以使用内置pyspark.sql.functions.date_format(date, format)函数:

from pyspark.sql.functions import date_format

df = spark.createDataFrame([('2018-07-12',)], ['dt'])
df.select(date_format('dt', 'ddMMyy').alias('date')).collect()
Run Code Online (Sandbox Code Playgroud)

结果:

结果

参考: https: //spark.apache.org/docs/latest/api/python/pyspark.sql.html ?highlight=dateformat#pyspark.sql.functions.date_format