Apache Flink DataSet API:如何将 Flink DataSet 与自身合并为一个新数据集?

Apache Flink DataSet API: How to merge a Flink DataSet with itself to a new one?

我有一个字符串类型的单维数据集:

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) 应该可以解决问题。这将执行默认交叉。