java - Apache Flink 数据集 API : How to merge a Flink DataSet with itself to a new one?

标签 java dataset apache-flink bigdata

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

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/

相关文章:

java - 如何在 ktor 应用程序中注入(inject)依赖项

apache-flink - K-Means 的 Apache flink 快速入门 "Analyze the Result"错误

python - 如何将 Apache Flink DataSet python API 与 IDE 结合使用,例如Windows 10 上的 PyCharm?

amazon-dynamodb - 在 Apache Flink 中使用 DynamoDB 流

java - 无法将 UUID 插入嵌入式数据库

java - 为什么 List.toArray() 不是通用的?

java - Apache Phoenix DAO 测试

c# - Telerik GridView : How to refresh grid view after Database change

r - 应该在函数之前还是在函数内部加载数据集?

vb.net 数据集返回空值