Jestem bardzo nowy w korzystaniu z Google Cloud Dataflow. Chciałbym otrzymać kartezjański produkt dwóch PCollections. Na przykład, jeśli mam dwa PCollections (1, 2)
i ("hello", "world")
, ich produkt kartezjański to ((1, "hello"), (1, "world"), (2, "hello"), (2, "world"))
.Jak zdobyć produkt kartezjański dwóch PCcollections
Jakieś pomysły, w jaki sposób mogę to zrobić? Ponadto, ponieważ produkt kartezjański może być duży, mam nadzieję, że rozwiązanie to leniwie stworzy produkt, a tym samym uniknie dużego zużycia pamięci.
Dzięki!
Czy masz więcej informacji na temat tego, co próbujesz zrobić? Jak duże są poszczególne PCollections? Istnieje kilka sposobów na osiągnięcie tego celu, a który z nich jest lepszy, zależy od tego, jaki jest powód, dla którego chcesz otrzymać produkt kartezjański i faktyczne kolekcje PCollections. –
Dwa PCollections są identyczne. Oba zawierają około 100 000 krotek typu '(String, String)'. Używam słownika angielskich słów i otrzymałem ich fonetyczną transkrypcję w celu wygenerowania 2-głosowych słów, takich jak: "fantasti-CAL-ifornia". –
Dla bezpośredniego rozwiązania kartezjańskiego, [this] (http://stackoverflow.com/a/41051283/377366) wydaje się być najlepszą dostępną odpowiedzią na razie. – KobeJohn