Google Cloud Dataflow BigQueryIO.Write 发生未知错误(http 代码 500)
Google Cloud Dataflow BigQueryIO.Write occur Unknown Error (http code 500)
是否有人遇到与我相同的问题 Google Cloud Dataflow BigQueryIO.Write 发生未知错误(http 代码 500)?
我在 4 月、5 月、6 月使用 Dataflow 处理一些数据,我使用相同的代码处理 4 月数据 (400MB) 并成功写入 BigQuery,但是当我处理 5 月 (60MB) 或 6 月 (90MB) 数据时, 失败了。
- 4月、5月、6月数据格式相同
- 将writer从BigQuery换成TextIO,job会成功,所以我觉得数据格式很好。
- 日志仪表板没有任何错误日志.....
- 系统只有相同的未知错误
我写的代码在这里:http://pastie.org/10907947
"Executing BigQuery import job" 后的错误消息:
Workflow failed. Causes:
(cc846): S01:Read Files/Read+Window.Into()+AnonymousParDo+BigQueryIO.Write/DataflowPipelineRunner.BatchBigQueryIOWrite/DataflowPipelineRunner.BatchBigQueryIONativeWrite failed.,
(e19a27451b49ae8d): BigQuery import job "dataflow_job_631261" failed., (e19a745a666): BigQuery creation of import job for table "hi_event_m6" in dataset "TESTSET" in project "lib-ro-123" failed.,
(e19a2749ae3f): BigQuery execution failed.,
(e19a2745a618): Error: Message: An internal error occurred and the request could not be completed. HTTP Code: 500
抱歉让您失望了。看起来您在写入 BQ 的文件数量上遇到了限制。这是一个我们正在修复的已知问题。
与此同时,您可以通过减少输入文件的数量或重新分片数据来解决此问题(执行 GroupByKey 然后取消分组数据 - 从语义上讲这是一个空操作,但它会强制数据要具体化,以便写入操作的并行性不受读取并行性的限制。
Dataflow SDK for Java 1.x:作为解决方法,您可以在以下位置启用此实验:--experiments=enable_custom_bigquery_sink
在 Java 2.x 的 Dataflow SDK 中,此行为是默认行为,无需实验。
请注意,在这两个版本中,如果您的作业失败,GCS 中的临时文件可能会遗留。
希望对您有所帮助!
是否有人遇到与我相同的问题 Google Cloud Dataflow BigQueryIO.Write 发生未知错误(http 代码 500)?
我在 4 月、5 月、6 月使用 Dataflow 处理一些数据,我使用相同的代码处理 4 月数据 (400MB) 并成功写入 BigQuery,但是当我处理 5 月 (60MB) 或 6 月 (90MB) 数据时, 失败了。
- 4月、5月、6月数据格式相同
- 将writer从BigQuery换成TextIO,job会成功,所以我觉得数据格式很好。
- 日志仪表板没有任何错误日志.....
- 系统只有相同的未知错误
我写的代码在这里:http://pastie.org/10907947
"Executing BigQuery import job" 后的错误消息:
Workflow failed. Causes:
(cc846): S01:Read Files/Read+Window.Into()+AnonymousParDo+BigQueryIO.Write/DataflowPipelineRunner.BatchBigQueryIOWrite/DataflowPipelineRunner.BatchBigQueryIONativeWrite failed.,
(e19a27451b49ae8d): BigQuery import job "dataflow_job_631261" failed., (e19a745a666): BigQuery creation of import job for table "hi_event_m6" in dataset "TESTSET" in project "lib-ro-123" failed.,
(e19a2749ae3f): BigQuery execution failed.,
(e19a2745a618): Error: Message: An internal error occurred and the request could not be completed. HTTP Code: 500
抱歉让您失望了。看起来您在写入 BQ 的文件数量上遇到了限制。这是一个我们正在修复的已知问题。
与此同时,您可以通过减少输入文件的数量或重新分片数据来解决此问题(执行 GroupByKey 然后取消分组数据 - 从语义上讲这是一个空操作,但它会强制数据要具体化,以便写入操作的并行性不受读取并行性的限制。
Dataflow SDK for Java 1.x:作为解决方法,您可以在以下位置启用此实验:--experiments=enable_custom_bigquery_sink
在 Java 2.x 的 Dataflow SDK 中,此行为是默认行为,无需实验。
请注意,在这两个版本中,如果您的作业失败,GCS 中的临时文件可能会遗留。
希望对您有所帮助!