Apache Beam BigqueryIO.Write getSuccessfulInserts 不工作

Apache Beam BigqueryIO.Write getSuccessfulInserts not working

我们正在创建一个简单的 apache beam 管道,它将数据插入到 bigquery table 中,我们正在尝试获取已成功插入到 table 中的 table 行,并且table错误的行,代码如截图所示

根据以下文档: https://beam.apache.org/releases/javadoc/2.33.0/org/apache/beam/sdk/io/gcp/bigquery/WriteResult.html BigQueryIO.writeTableRows() returns 一个 WriteResult 对象,其中 getSuccessfulInserts() 将 return 一个 PCollection<TableRow> 包含已成功插入的 TableRows并且 getFailedInserts() 将 return 另一个 PCollection<TableRow> 其中包含已失败的 TableRows

但是当我们测试管道时 getFailedInserts() 似乎在工作,它正在获取失败的 TableRows,但是 getSuccessfulInserts() 总是得到一个空的 PCollection 我们已经尝试了一切,但似乎没有用。我们是不是漏掉了什么?

提前致谢。

这是 Apache Beam 2.36.0 版本中经过一些重构后引入的错误。修复在 https://github.com/apache/beam/pull/16768 中,并将在 2.37.0 版本中。