Google cloud platform BigQuery无法插入作业。工作流失败
我需要通过Dataflow和Beam从GCS到BigQuery运行批处理作业。我的所有文件都是具有相同模式的avro。 我创建了一个dataflow java应用程序,该应用程序在较小的数据集(约1gb,约5个文件)上获得了成功。 但是当我尝试在更大的数据集(>500gb,>1000个文件)上运行它时,我会收到一条错误消息Google cloud platform BigQuery无法插入作业。工作流失败,google-cloud-platform,dataflow,stackdriver,Google Cloud Platform,Dataflow,Stackdriver,我需要通过Dataflow和Beam从GCS到BigQuery运行批处理作业。我的所有文件都是具有相同模式的avro。 我创建了一个dataflow java应用程序,该应用程序在较小的数据集(约1gb,约5个文件)上获得了成功。 但是当我尝试在更大的数据集(>500gb,>1000个文件)上运行它时,我会收到一条错误消息 java.lang.RuntimeException: org.apache.beam.sdk.util.UserCodeException: java.lang.Runti
java.lang.RuntimeException: org.apache.beam.sdk.util.UserCodeException: java.lang.RuntimeException: Failed to create load job with id prefix 1b83679a4f5d48c5b45ff20b2b822728_6e48345728d4da6cb51353f0dc550c1b_00001_00000, reached max retries: 3, last failed load job: ...
重试3次后,其终止为:
Workflow failed. Causes: S57....... A work item was attempted 4 times without success....
此步骤是加载到BigQuery的步骤
堆栈驱动程序说处理被卡在步骤中…10万秒。。。及
Request failed with code 409, performed 0 retries due to IOExceptions, performed 0 retries due to unsuccessful status codes.....
我查找了409错误代码,指出我可能有一个现有的作业、数据集或表。我已经删除了所有表并重新运行了应用程序,但它仍然显示相同的错误消息
我目前只有65名员工,我让他们使用n1-standard-4 CPU
我相信还有其他方法可以将数据从gcs移动到bq,但我需要演示数据流。“java.lang.RuntimeException:无法创建前缀为beam的作业\u load\u csvtobigQueryxxxxxxxxxxxx,最大重试次数:3,上次失败的作业:null。
在org.apache.beam.sdk.io.gcp.bigquery.BigQueryHelpers$PendingJob.runJob(BigQueryHelpers.java:198)…”
- 可能的原因之一可能是特权问题。确保与BigQuery交互的用户帐户在预定义角色“*BigQuery用户”中具有权限“BigQuery.jobs.create”