我完全绝望了!
我正在将 apache flink 与 java 一起使用,我想知道是否可以修改 keyby 方法以便通过相似性而不是确切名称来键入?
我有两个不同的数据流,我正在做一个联合。在第一个流中,我想要 KeyBy 的字段名称是“John Locke”,而在第二个数据流中,字段值是“John L”。
我有一个算法,可以在一些不同的字符串之间给我一个分数。我的想法是:例如,如果两个字符串之间的分数高于 0'80,那么这两个字符串将被认为是相同的,当我应用 keyby("name") 时,那些相似的字符串将被键入,因为它们具有精确的一样的名字。
视觉示例:
datastream1----- John Locke、Mickey Micke、Will Williams
satastream2----- 米奇 M.、约翰 L.、安东尼布朗
数据流 d3=datastream1.union(datastream2)
d3.key 按分数/相似,而不是确切的名称。
希望大家理解,谢谢!