转换 spark 数据框列的通用函数

generic function to cast spark dataframe columns

我编写了以下函数来转换 spark 数据框列,但我想让它使用类型化函数:

def castCol(newName: String, previosuNmae: String, datatType: DataType): DataFrame = {
  df.withColumn(newName, col(previosuNmae).cast(datatType))

我想把它改成这样:

def castCol[DataType](newName: String, previosuNmae: String): DataFrame = {
  df.withColumn(newName, col(previosuNmae).cast(DataType)) 

但这不起作用。 你知道谁将数据类型作为类型而不是参数传递给函数吗

这个怎么样:

def castCol[T<:DataType](newColName: String, newColType:T, previousColName: String): DataFrame = 
    df.withColumn(newColName, col(previousColName).cast(newColType))

希望对您有所帮助