出于调试目的,我希望能够将无界 PCollection 转换为有界 PCollection。有直接的方法吗?在我看来,这样做可以强制管道完成,除其他外,将是有用的。
我认为 Sample.any() (这里的Javadoc:https ://beam.apache.org/documentation/sdks/javadoc/2.5.0/org/apache/beam/sdk/transforms/Sample.html#any-long- ) ,将是我所需要的,但 PTransform 似乎并没有改变管道的边界。
编辑:我尝试了the-hbar-tender的建议,但无法使其工作。我是这样尝试的:
BoundedReadFromUnboundedSource brfus = unbounded.withMaxNumRecords(10);
Run Code Online (Sandbox Code Playgroud)
...无界会像这样创建:
Read.Unbounded unbounded = new Read.Unbounded("some name", pubsubUnboundedSource);
Run Code Online (Sandbox Code Playgroud)
... pubsubUnboundedSource 的创建方式如下:
PubsubUnboundedSource pubsubUnboundedSource = PubsubUnboundedSource(pubsubClientFactory, projectValueProvider, topicValueProvider, subscriptionValueProvider, "some timestamp attribute", "some id attribute", true)
Run Code Online (Sandbox Code Playgroud)
...但是 pubsubClientFactory 无法实例化,因为 PubsubClient 不是公共的。我在那里放弃了。也许还有另一种方法可以解决这个问题。
| 归档时间: |
|
| 查看次数: |
1677 次 |
| 最近记录: |