Google bigquery BigQuery中断后Google数据流暂停
我正在运行一个Google数据流作业。数据流作业从发布/订阅中读取消息,对其进行充实,并将充实后的数据写入BigQuery 数据流每秒处理大约5000条消息。我正在使用20个工人来运行数据流作业 昨天似乎有一个BigQuery中断。因此,在BigQuery部分写入数据失败。一段时间后,我的数据流停止工作。 我看到1000个错误,如下所示Google bigquery BigQuery中断后Google数据流暂停,google-bigquery,google-cloud-platform,google-cloud-dataflow,Google Bigquery,Google Cloud Platform,Google Cloud Dataflow,我正在运行一个Google数据流作业。数据流作业从发布/订阅中读取消息,对其进行充实,并将充实后的数据写入BigQuery 数据流每秒处理大约5000条消息。我正在使用20个工人来运行数据流作业 昨天似乎有一个BigQuery中断。因此,在BigQuery部分写入数据失败。一段时间后,我的数据流停止工作。 我看到1000个错误,如下所示 (7dd47a65ad656a43): Exception: java.lang.RuntimeException: com.google.api.clie
(7dd47a65ad656a43): Exception: java.lang.RuntimeException: com.google.api.client.googleapis.json.GoogleJsonResponseException: 400 Bad Request
{
"code" : 400,
"errors" : [ {
"domain" : "global",
"message" : "The project xx-xxxxxx-xxxxxx has not enabled BigQuery.",
"reason" : "invalid"
} ],
"message" : "The project xx-xxxxxx-xxxxxx has not enabled BigQuery.",
"status" : "INVALID_ARGUMENT"
}
com.google.cloud.dataflow.sdk.util.BigQueryTableInserter.insertAll(BigQueryTableInserter.java:285)
com.google.cloud.dataflow.sdk.util.BigQueryTableInserter.insertAll(BigQueryTableInserter.java:175)
com.google.cloud.dataflow.sdk.io.BigQueryIO$StreamingWriteFn.flushRows(BigQueryIO.java:2728)
com.google.cloud.dataflow.sdk.io.BigQueryIO$StreamingWriteFn.finishBundle(BigQueryIO.java:2685)
com.google.cloud.dataflow.sdk.util.DoFnRunnerBase.finishBundle(DoFnRunnerBase.java:159)
com.google.cloud.dataflow.sdk.runners.worker.SimpleParDoFn.finishBundle(SimpleParDoFn.java:194)
com.google.cloud.dataflow.sdk.runners.worker.ForwardingParDoFn.finishBundle(ForwardingParDoFn.java:47)
com.google.cloud.dataflow.sdk.util.common.worker.ParDoOperation.finish(ParDoOperation.java:65)
com.google.cloud.dataflow.sdk.util.common.worker.MapTaskExecutor.execute(MapTaskExecutor.java:77)
com.google.cloud.dataflow.sdk.runners.worker.StreamingDataflowWorker.process(StreamingDataflowWorker.java:719)
Stack trace truncated. Please see Cloud Logging for the entire trace.
请注意,即使BigQuery开始工作,数据流也不工作。我必须重新启动数据流作业才能使其正常工作
这会导致数据丢失。不仅在停机时,而且在我注意到错误并重新启动数据流作业之前。有没有办法配置重试选项,以便数据流作业在这些情况下不会过时?您有作业id吗?在这里尝试理解--事件顺序如下所示?1.-管道运行2.-大修3.-重启,观察上述故障4.-后续成功重启?或者,在中断后,在尝试重新启动之前运行时是否出现错误?@Pablo是的,我有作业Id,但我不想添加它SOF@rf-顺序如下。1.管道运行。2.BigQuery中断。3.数据流中断,出现BQ错误。4.BigQuery重新上线。5.数据流仍然中断。6.重新启动数据流,它开始工作,但数据丢失回到您原来的问题,这里没有可以调整的重试。我们代表你重试。一种可能性是,管道积累了足够的状态,即使在BQ回来后,我们也无法继续处理——在某些情况下,可以通过增加工人来缓解这种情况。我不想对这个案子作太多的推测。请注意,您可以打开一张支持票,我们可以查看工作细节。