首页 > 解决方案 > Scala递归覆盖DF中的列类型

问题描述

我想将我的数据框架构中的年、月和日列从整数转换为字符串。

 |-- year: integer (nullable = true)
 |-- month: integer (nullable = true)
 |-- day: integer (nullable = true)

它应该返回相同的 DF,但特定列的列类型更改String为。

我得到的错误是

在此处输入图像描述 这是我的功能:

def transformDate(df: Dataset[Row], spark: SparkSession): Dataset[Row] = {
    val cols = Seq("month","day","year")

    for (col <- cols) {
    val df  = df.withColumn(col, $"col".cast(org.apache.spark.sql.types.StringType))
}
    df
    }

我的功能有什么问题?

标签: scalaapache-spark

解决方案


推荐阅读