Spark的Levenshtein距离算法



我从Hadoop生态系统开始,我面临一些问题,需要你的帮助。

我有两个HDFS文件,需要在第一组列和第二组列之间执行Levenshtein。

这个过程将每天执行相当多的数据(第一个文件有150M行,第二个文件有11M行)。

我希望有一些指导(代码示例,参考资料等),告诉我如何从HDFS读取我的两个文件执行Levenshtein距离(使用Spark?),并将结果保存在第三个HDFS文件上。

提前谢谢你。

我猜你有csv文件,所以你可以直接读取到数据帧:

val df1 =  spark.read.option("header","true").csv("hdfs:///pathtoyourfile_1")

spark.sql.functions模块包含deflevenshtein(l: Column, r: Column): Column函数,所以你需要传递一个参数-字符串类型的dataframe列,如果你想传递一组列,你可以用concat('col1,'col2,..)函数连接多个列并将它们传递给前一个函数。如果您有2个或更多的数据帧,您必须将它们连接到一个数据帧中,然后执行距离计算。最后,您可以使用df.write.csv("path")

将结果保存为csv

相关内容

  • 没有找到相关文章

最新更新