Ich bin sehr neu in der Verwendung von Google Cloud Dataflow. Ich möchte das kartesische Produkt von zwei PCollections erhalten. Wenn ich beispielsweise zwei PCollections (1, 2)
und ("hello", "world")
habe, ist ihr kartesisches Produkt ((1, "hello"), (1, "world"), (2, "hello"), (2, "world"))
.So erhalten Sie das kartesische Produkt von zwei PCollections
Irgendwelche Ideen, wie ich das tun könnte? Da das kartesische Produkt groß sein könnte, hoffe ich, dass die Lösung das Produkt träge erstellt und somit einen enormen Speicherverbrauch vermeidet.
Danke!
Haben Sie weitere Details zu dem, was Sie tun möchten? Wie groß sind die einzelnen PCollections? Es gibt mehrere Möglichkeiten, dies zu erreichen, und welche davon besser ist, hängt davon ab, warum Sie das kartesische Produkt und die tatsächlichen PCollections verwenden möchten. –
Die beiden PCollections sind identisch. Beide enthalten ungefähr 100.000 Tupel vom Typ '(String, String)'. Ich verwende ein Wörterbuch englischer Wörter und habe ihre phonetische Transkription, um 2-Wort-Wortspiele zu generieren, wie zum Beispiel: "fantasti-CAL-ifornia". –
Für eine direkte kartesische Lösung scheint [this] (http://stackoverflow.com/a/41051283/377366) die beste verfügbare Antwort zu sein. – KobeJohn