BigQueryIO.writeTableRows以非常高的延迟写入BigQuery



以下代码片段显示了 BigQuery 的编写方法(它从 PubSub 获取数据(。"写入 BigQuery"数据流步骤接收 TableRow 数据,但它以非常高的延迟(超过 3-4 小时(写入 BigQuery,甚至根本不写入数据。日志中没有错误/警告,我可以看到数据到达这里。我希望它尽可能通用,所以不想在代码中提供架构。此代码片段是否有任何可能导致此行为的错误?

PCollection<TableRow> tableRows;
...
tableRows.apply("Write to BigQuery",
BigQueryIO.writeTableRows().to(options.getTable())
.withExtendedErrorInfo()
.withCreateDisposition(CreateDisposition.CREATE_NEVER)
.withWriteDisposition(WriteDisposition.WRITE_APPEND)
.withMethod(Method.STREAMING_INSERTS)
.withFailedInsertRetryPolicy(InsertRetryPolicy.retryTransientErrors()));

更新: 我将代码修改为:

tableRows.apply("Write to BigQuery",
BigQueryIO.writeTableRows().to(options.getTable())
.withCreateDisposition(CreateDisposition.CREATE_NEVER));

现在它工作正常。原始版本的代码有什么问题?

问题已经解决,这是基础设施问题。

最新更新