【问题标题】:Google Cloud Dataflow BigQueryIO.Write occur Unknown Error (http code 500)Google Cloud Dataflow BigQueryIO.Write 发生未知错误(http 代码 500)
【发布时间】:2016-11-18 10:06:43
【问题描述】:

是否有人与我发生了与 Google Cloud Dataflow BigQueryIO.Write 发生未知错误(http 代码 500)相同的问题?

我使用 Dataflow 处理 4 月、5 月、6 月的一些数据,我使用相同的代码来处理 4 月的数据 (400MB) 并写入 BigQuery 成功,但是当我处理 5 月 (60MB) 或 6 月 (90MB) 的数据时,它失败了。

  • 四月、五月和六月的数据格式相同。
  • 将编写器从 BigQuery 更改为 TextIO,工作会成功,所以我认为数据格式很好。
  • Lo​​g Dashboard 没有任何错误日志.....
  • 只有系统相同的未知错误

我写的代码在这里:http://pastie.org/10907947

“执行 BigQuery 导入作业”后的错误消息:

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

【问题讨论】:

    标签: java google-bigquery google-cloud-platform google-cloud-dataflow


    【解决方案1】:

    很抱歉让您失望了。看起来您在写入 BQ 的文件数量上受到了限制。这是一个已知问题,我们正在修复中。

    与此同时,您可以通过减少输入文件的数量或重新分片数据(执行 GroupByKey,然后取消分组数据 - 从语义上讲它是无操作的,但它强制数据是物化,以便写入操作的并行度不受读取并行度的限制)。

    【讨论】:

      【解决方案2】:

      Dataflow SDK for Java 1.x:作为一种解决方法,您可以在以下位置启用此实验:--experiments=enable_custom_bigquery_sink

      在 Dataflow SDK for Java 2.x 中,此行为是默认行为,无需进行实验。

      请注意,在这两个版本中,如果您的作业失败,GCS 中的临时文件可能会留下。

      希望有帮助!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2023-03-23
        • 2012-10-13
        • 1970-01-01
        • 2015-05-15
        • 1970-01-01
        • 2016-05-31
        • 2021-12-08
        相关资源
        最近更新 更多