Scala 如何将regexp_replace spark函数应用于多个键值?

Scala 如何将regexp_replace spark函数应用于多个键值?,scala,apache-spark,apache-spark-sql,Scala,Apache Spark,Apache Spark Sql,假设有一个带有键值对或文本的映射,如: val pairs = Map( "x1" -> "a", "1" -> "xf", "80" -> "AB" ) 有没有一种方法可以在循环中添加带有regexp\u replace调用的新列,如下所示: df.withColumn("newColumn", pairs.mapSomeHow((k,v) => regexp_replace(col("originalColumn"), k, v))) 例如,newCo

假设有一个带有键值对或文本的映射,如:

val pairs = Map(
  "x1" -> "a",
  "1" -> "xf",
  "80" -> "AB"
)
有没有一种方法可以在循环中添加带有
regexp\u replace
调用的新列,如下所示:

df.withColumn("newColumn", pairs.mapSomeHow((k,v) => regexp_replace(col("originalColumn"), k, v)))
例如,
newColumn
将使用
原始列中的值替换
“x1”
“1”
“80”
字符串

怎么做?

类似于

df.withColumn(
“新专栏”,
成对折叠(df(“原始柱”)){
案例(c,(k,v))=>
regexp_替换(c、k、v)
}
)
这将通过对上一次替换的结果重复应用
regexp\u replace
从原始
df(“originalColumn”)
实例构建一个
实例