我需要对包含Spark中日期的Dataframe列进行转换。该列最初是通过定义世纪(CCYYMMDD)来设置格式的,我想将其更改为其他格式(DDMMYYYY)。
例如:
从“ 21000101”到“ 01012000”
或
从“ 20991231”到“ 31121999”
我尝试使用spark sql函数date_format:
public static Column toFlatFileDate(Column c, String inFormat, String outFormat) {
return functions.date_format(functions.to_timestamp(c, inFormat), outFormat);
}
Dataset<Row> result = source.withColumn("transformedDate", toFlatFileDate(source.col("base"), "CCyyMMdd", "ddMMyyyy"));
预期输出应为“ transformed-column”列的格式为ddMMyyyy,但结果为空值。