【发布时间】:2018-11-09 02:56:37
【问题描述】:
我有以下 Spark DataFrame 转换逻辑:
val newCols = df.schema.map {
dfColumn =>
val colName = dfColumn.name
val column = col(colName)
colName match {
case "country" => when(column === "Italy", "[ITALY]")
.when(column === "France", "*France*")
.otherwise(column).as("[COUNTRY]")
case "email" => column.as("(EMAIL)")
case _ => column
}
}
根据应用程序逻辑,我需要能够为每一列定义转换逻辑,例如:
when(column === "Italy", "[ITALY]")
.when(column === "France", "*France*")
.otherwise(column)
在 Spark 应用程序之外,例如在应用程序 UI 上(将其写为 HTML TextArea 中的纯文本),然后将此转换表达式作为字符串传递给 Spark 应用程序并在那里对其进行评估。
Scala 和 Spark 是否可行,如果可以,您能举个例子吗?
【问题讨论】:
标签: scala apache-spark