Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google cloud platform BigQuery无法插入作业。工作流失败_Google Cloud Platform_Dataflow_Stackdriver - Fatal编程技术网

Google cloud platform BigQuery无法插入作业。工作流失败

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

我需要通过Dataflow和Beam从GCS到BigQuery运行批处理作业。我的所有文件都是具有相同模式的avro。 我创建了一个dataflow java应用程序,该应用程序在较小的数据集(约1gb,约5个文件)上获得了成功。 但是当我尝试在更大的数据集(>500gb,>1000个文件)上运行它时,我会收到一条错误消息

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”

我在使用“roles/bigquery.jobUser”、“roles/bigquery.dataViewer”和“roles/bigquery.user”时遇到了相同的问题。但只有在授予“roles/bigquery.admin”权限时,问题才得以解决。

您是否在bigquery端使用目标表?您为创建和写入指定了什么配置?已设置目标表。如果我用一个较小的批处理(~1gb)运行数据流,它就可以正常加载。处置为:。withCreateDisposition(BigQueryIO.Write.CreateDisposition.CREATE_,如果需要)。withWriteDisposition(BigQueryIO.Write.WriteDisposition.Write_APPEND));真奇怪。。。您是否可以尝试先使用大数据集运行作业,然后再使用小数据集再次运行作业?在加载大数据时,我也会遇到相同的错误。你能解决这个问题吗?请让我知道,我仍然在寻找解决方案。谢谢@andrew说的太远了,但您是否可能在表名中包含受限字符?我收到了同样模糊的错误消息,结果是在我的表名中包含了连字符。