BigQueryIO.writeTableRows写入BigQuery的延迟非常长

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

以下代码段显示了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));

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

google-bigquery google-cloud-dataflow apache-beam apache-beam-io
1个回答
0
投票

问题已解决,这是下面的问题。

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