为距离字符串指定唯一的数值(Spark)

时间:2017-10-30 21:31:29

标签: java scala apache-spark intellij-idea

我有一个充满字符串的文件(带有URI的.nt文件),为简单起见,我想将字符串值更改为数值。

应考虑两个因素: 为每个不同的字符串生成唯一的数值。 能够从生成的数字中恢复原始字符串。

我的目的是将文件转换为数值然后执行某个计算(如果值是数字则会很快)然后将结果从数字转换为字符串。

我尝试过HashCode(),但它并不能保证唯一性,也不能保证其可逆性。

有什么建议吗? 我的代码在Spark,Scala和Java下运行。

谢谢

1 个答案:

答案 0 :(得分:0)

请使用spark的ZipWithIndex功能来创建唯一索引。

  

挑战是从数字中取回字符串,   你必须先保存字符串和zipIndex(或保留在内存中),这样   稍后您可以使用此临时查找表加入输出。