Надеюсь, этот код поможет мне создать список столбцов, связывающих его с именем. НЕТ, если вы хотите автоматически сгенерировать логи генерации столбцов c
val dynamicCols : List[(String, Column)] = List(
("daysbetween",
fn.datediff($"date1", $"date2")
),
("0", fn.when(
$"daysbetween" >= -30,
$"TotalPrice"
)),
("-30", fn.when(
$"daysbetween" >= -30,
$"TotalPrice"
)),
("-30",
fn.when(
$"daysbetween".between(-60, -31),
$"TotalPrice"
)),
("-60",
$"".when(
$"daysbetween".between(-90, -61),
$"TotalPrice"
)),
("<-90",
fn.when(
$"daysbetween" < -90,
$"TotalPrice"
))
)
val df = dynamicCols.foldLeft(df)((df : DataFrame,colInfo : (String,Column)) => {
df.withColumn(colInfo._1,colInfo._2)
}
)