如何将Spark Dataframe的时间戳列转换为字符串列

我想将所有TIMESTAMP列的Spark数据帧转换为String列。有人可以说如何针对每个数据框自动执行此操作吗?

每个数据帧的时间戳列的位置可以更改,列名称也可以不同。

例如,在一个数据帧中,它可以是DataFrame1 columnA,但在Dataframe2中,它可以是columnX。

所以我需要以某种方式使用任何给定表中有关列类型的信息,并将其转换为字符串列。

您有什么想法吗?

downcrazy 回答:如何将Spark Dataframe的时间戳列转换为字符串列

您可以编写一种将时间戳转换为字符串并在需要时使用的方法。

,

看一下函数库。 date_format看起来像您想要的。

它将时间戳转换为指定格式的字符串

我以这种方式使用它:

    Dataset<Target> newData = spark.createDataset(targets,Encoders.bean(Target.class));

        newData.printSchema();

        newData.withColumn("date-time",functions.date_format(new Column("timestamp"),"yyyy-MM-dd_HH")).write()
                .mode(SaveMode.Append).option("basePath",basePath).partitionBy("date-time")

timestamp是目标类型java.sql.Timestamp

中的字段
本文链接:https://www.f2er.com/3139686.html

大家都在问