在 Google Dataflow 中将失败的原始对象插入 GBQ

Posted

技术标签:

【中文标题】在 Google Dataflow 中将失败的原始对象插入 GBQ【英文标题】:Getting original object of failed insert into GBQ in Google Dataflow 【发布时间】:2018-10-31 07:26:28 【问题描述】:

我正在使用 Apache Beam 将一些对象写入 google Big Query。我使用类似的代码

pipeline.apply(...)
        .apply(BigQueryIO.<MyObject>write().withFormatFunction(...))

我发现我可以使用.getFailedInsertsWithErr() 方法来获取没有插入TableRows 的内容。

我想获得导致插入失败的原始 MyObject 对象,以提供另一种处理方式。有可能达到这个吗?

【问题讨论】:

【参考方案1】:

目前还不能开箱即用。在BigQueryIO applies the format function 之后,行中没有对原始对象的引用。

【讨论】:

是的,我看到了。现在,我已经使用自己的密钥将初始 PCollection 与 PCollection 加入失败的插入以获取初始对象。尚未检查性能,即使它有效但似乎是有效的解决方案。

以上是关于在 Google Dataflow 中将失败的原始对象插入 GBQ的主要内容,如果未能解决你的问题,请参考以下文章

浅谈Flink的基石——Google Dataflow模型

如何在 google-dataflow 中读取 cassandra

在 google-cloud-dataflow 中使用文件模式匹配时如何获取文件名

在 Dataflow 管道中写入 BigQuery 表失败

如何在 Google Dataflow 中添加列以查询结果

Google Dataflow 定价流模式