我想通过删除重音
来规范作者的姓名Input: orčpžsíáýd
Output: orcpzsiayd
下面的代码将让我实现这一目标。我怎么不知道如何使用我的输入为dataframe col的spark函数来做到这一点。
def stringNormalizer(c : Column) = (
import org.apache.commons.lang.StringUtils
return StringUtils.stripAccents(c.toString)
)
我应该能够称呼它的方式
val normalizedAuthor = flat_author.withColumn("NormalizedAuthor",
stringNormalizer(df_article("authors")))
我刚开始学习火花。所以如果没有UDF,有更好的方法可以让我知道。
答案 0 :(得分:1)
它需要一个udf:
val stringNormalizer = udf((s: String) => StringUtils.stripAccents(s))
df_article.select(stringNormalizer(col("authors")))