【发布时间】:2016-01-26 07:24:23
【问题描述】:
我对使用 Google Cloud Dataflow 非常陌生。我想得到两个 PCollection 的笛卡尔积。例如,如果我有两个 PCollection (1, 2) 和 ("hello", "world"),它们的笛卡尔积是 ((1, "hello"), (1, "world"), (2, "hello"), (2, "world"))。
任何想法我怎么能做到这一点?此外,由于笛卡尔积可能很大,我希望该解决方案能够懒惰地创建产品,从而避免巨大的内存消耗。
谢谢!
【问题讨论】:
-
你有更多关于你想要做什么的细节吗?每个 PCollections 有多大?有几种方法可以实现这一点,哪一种更好取决于您想要笛卡尔积的原因以及所涉及的实际 PCollections。
-
这两个 PCollection 是相同的。它们都包含大约 100,000 个
(String, String)类型的元组。我正在使用英语单词词典并获取它们的音标以生成 2 词双关语,例如:“fantasti-CAL-ifornia”。 -
对于直接笛卡尔解决方案,this 似乎是目前可用的最佳答案。