如何使用spark-scala删除rdd中的unicode?

时间:2018-03-28 09:29:46

标签: scala apache-spark apache-spark-sql spark-dataframe

数据样本:

1991;113;High Heels;Comedy;Bos�, Miguel;Abril, Victoria;Almod�var, Pedro;68;No;NicholasCage.png

如何使用Spark中的Scala删除Unicode并将字符串映射到标准字符串格式。

注意:我确实提到了PySpark解决方案,但我正在寻找基于Scala的解决方案。

1 个答案:

答案 0 :(得分:2)

您可以从StringUtils导入org.apache.commons.lang3课程并使用this方法

然后在您的RDD上执行地图:

rdd.map(word => StringUtils.stripAccents(word))

你可以根据你的使用情况获得依赖here(maven,sbt等)。

以下使用RDD [String]

的快速示例
val rawRDD = sc.parallelize(List("Tĥïŝ ĩš â fůňķŷ Šťŕĭńġ","Tĥïŝ ĩš ânóthêr fůňķŷ Šťŕĭńġ") )
val newRDD = rawRDD.map(word => StringUtils.stripAccents(word))

rawRDD

Tĥïŝ ĩš â fůňķŷ Šťŕĭńġ
Tĥïŝ ĩš ânóthêr fůňķŷ Šťŕĭńġ

newRDD

This is a funky String
This is another funky String