我有一个字符串类型的单维数据集:
DataSet<String> x = //['dog','cat','sheep']
我想将所有字符串与此数据集中的其他字符串进行比较,以分析不同的字符串相似度算法。因此,我需要具有以下结构的结果数据集:
DataSet<Tuple2<String,String>> y = //[{'dog','cat'},{'dog','sheep'},{'cat','sheep'}]
在此数据集中,可以应用 flatMap 函数(或类似函数)来比较字符串。
我的问题是我不知道我必须使用哪种转换。也许转换不是处理这个问题的正确方法。
在普通的 Java 中,我简单地使用两个循环,如下所示:
for(int i = 0; i < x.length() ; i++){
for(int j = i+1 ; i< x.length(); j++){
//do something with x[i] and x[j]
}
}
最佳答案
x.cross(x) 应该可以解决问题。这将执行默认交叉。
关于java - Apache Flink 数据集 API : How to merge a Flink DataSet with itself to a new one?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37598762/