Ich bin total verzweifelt!Apache Flink, Schlüssel zwei Datenströme mit ähnlichen Feld Zeichenfolge Wert, aber nicht das gleiche
Ich benutze Apache flink mit Java und ich würde gerne wissen, ob es möglich ist, die keyby-Methode zu ändern, um nach Ähnlichkeiten und nicht nach dem genauen Namen zu Schlüsseln?
Ich habe zwei verschiedene DataStreams und ich mache eine Union. In dem ersten Stream ist der Name des Felds, das KeyBy sein soll, "John Locke", während der Feldwert in dem zweiten Datastream "John L" ist.
Ich habe einen Algorithmus, der mir eine Punktzahl zwischen einigen verschiedenen Saiten gibt. Meine Idee ist: Wenn die Punktzahl zwischen beiden Strings höher als zB 0'80 ist, dann werden diese beiden Strings als gleich betrachtet und wenn ich den keyby ("name") anwende, werden diese ähnlichen Strings getastet, da sie exakt haben gleicher Name.
Visuelle Beispiel:
datastream1 ----- John Locke, Mickey Micke, Will Williams
satastream2 ----- Mickey M., John L., Anthony Brown
Datastream d3 = datastream1.union (datastream2)
d3.keydurch die Partitur/das Similairy, nicht der genaue Name.
Ich hoffe, Sie verstehen, danke!
Dies wird nicht unterstützt. Vielleicht können Sie eine benutzerdefinierte Lösung dafür erstellen, aber ich bin mir nicht sicher, wie ... Nachdem Sie die Union und keyBy getan haben, was wäre der nächste Schritt, um Ihre Datensätze zu verarbeiten? –
Ja, danach möchte ich die Datensätze bearbeiten. Es war nur ein Beispiel –
Sicher. Aber was möchten Sie konkret tun? –