我目前正在尝试找到处理两个非常大的数据集的最佳方法。
我有两个BigQuery表:
我想根据事件属性(事件可以有多个标记)使用适当的标记标记每个事件。但是,对于数据集大小,SQL交叉连接似乎太慢了。
使用mapreduces管道并避免使用的最佳方法是什么 非常昂贵的随机播放阶段,因为必须将每个事件与每个标签进行比较。
此外,我计划使用Google Cloud Dataflow,此工具是否适合此任务?
答案 0 :(得分:3)
Google Cloud Dataflow非常适合这种情况。
假设标签数据足够小以适应内存,您可以通过将其作为SideInput传递来避免混乱。
您的管道将如下所示
如果您的代码数据太大而无法容纳在内存中,则很可能需要使用Join。