我想通过删除重音符号来规范化作者姓名
Input: orčpžsíáýd
Output: orcpzsiayd
下面的代码将允许我实现这一点。然而,我不知道我如何才能做到这一点使用Spark函数,我的输入是 Dataframe 列。
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")))
我刚刚开始学习Spark。所以请让我知道是否有一个更好的方法来实现这一点没有UDF。
2条答案
按热度按时间vngu2lb81#
它需要一个udf:
z18hc3ub2#
尽管看起来不那么漂亮,但我发现在没有UDF的情况下删除重音符号所需的时间减少了一半:
然后你可以这样应用它: