使用Spark SQL将CCYYMMDD日期格式转换为DDMMYYYY格式

时间:2019-09-04 16:42:40

标签: java apache-spark apache-spark-sql date-formatting

我需要对包含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,但结果为空值。

0 个答案:

没有答案