惯用的方式加入的“二次”键(Idiomatic way to join on “secondary”

2019-10-29 12:11发布

如果我们有一个看起来像这样的流

Person {
     …
     OrganizationID
}

我们希望与另一个流加盟

Organization {
     ID
     …
}

创建像这样的复合记录:

Person {
     …
     Organization {
           ID
           …
     }
}

什么是最地道的有效的方式在Apache梁编程模型,这样做呢?

注:看过side input推荐作为解决这样类似的问题S,但因为我们是后的效果是, 每次更改要么在这里不适用Person Organization应该产生一个新的增强Person -record。

Answer 1:

编辑:

答案是,你的例子不是由Apache的光束由于Apache的光束实现失踪回缩支持。

================================================== =

原来的答案:

您可能要检查Apache中梁连接库[1]。

在加入梁模型需要对您的流窗战略思维外。 听起来像是你流不需要开窗,所以说你流都在全局窗口。 但是,如果你在你的两个流,使用默认触发设置全局窗口并执行加入像光束的加入库,由于从来没有水印通过无休止的窗口,你的加入将不会发出任何结果。 如果设置屡数据驱动的触发(火一次看到足够的元素),但是,由于缺少梁配套回缩,目前尚不清楚如何预emited结果为精制加入。

[1] https://github.com/apache/beam/blob/master/sdks/java/extensions/join-library/src/main/java/org/apache/beam/sdk/extensions/joinlibrary/Join.java #L49



文章来源: Idiomatic way to join on “secondary” keys
标签: apache-beam