问题回复:FailedInserts PCollection / Beam 2.45 与 2.49 行为确认

问题描述 投票:0回答:1

上下文:GitHub 问题 26853

我对上述提到的功能请求和差异有疑问

Beam 2.45 versus 2.49

如果

FailedInserts PCollection
没有被消耗,
BigQueryIO
将默默地删除记录。这可能按预期工作,但我相信我们应该使用计数器向用户公开这种情况。”

看起来

FailedInserts PCollection
是用来解决模式不匹配的,即当记录和提供的模式不匹配并导致转换方法抛出异常时,该记录将被输出到
FailedInserts

Beam 2.45.0
中,
FailedInserts PCollection
将被简单地压扁并扔掉;在
Beam 2.49.0
中,那些
FailedInserts PCollection
仍将被压平并丢弃,但 Beam 会更新一个计数器以显示发生了多少次失败的转换。

有人可以帮忙确认以下两点吗?

  1. FailedInserts PCollection
    用于仅收集在
    Beam 2.45.0 and Beam 2.49.0
    中架构不匹配的记录;

  2. FailedInserts PCollection
    不为空时,
    Beam 2.45.0 and Beam 2.49.0
    都会丢弃这些记录;唯一的区别是
    Beam 2.49.0
    会更新计数器,而
    Beam 2.45.0
    没有这样的计数器。

希望确认

FailedInserts PCollection
结果是否在两个
2.45 and 2.49

中都被丢弃
google-cloud-dataflow apache-beam
1个回答
0
投票
  1. 是的。
  2. 是的。我不会称其为“扔掉”。用户代码需要处理如何处理这个失败的 PCollection,例如,使用另一个接收器。

对于 BigQuery IO,鉴于 Beam 和 BigQuery 的快速发展,强烈建议始终使用最新的 Beam。

© www.soinside.com 2019 - 2024. All rights reserved.