繁体   English   中英

如何修复写入 BigQuery 的数据流模板作业中的“java.lang.RuntimeException:创建作业失败”?

[英]How to fix "java.lang.RuntimeException: Failed to create job" in a Dataflow template job that writes to BigQuery?

我正在尝试使用 JDBC to BigQuery Dataflow 模板将数据从 Postgres 数据库复制到 BigQuery。 但是我的数据流作业失败了,我遇到了以下错误:

java.lang.RuntimeException: Failed to create job with prefix beam_bq_job_LOAD_jdbctobigquerydataflow0releaser1025092115d7a229e9_214eff91b59f4b8d863809d3865504fa_11cbacad09f05e44363d2dd2963e9fd1_00001_00000, reached max retries: 3, last failed job: null.

at org.apache.beam.sdk.io.gcp.bigquery.BigQueryHelpers$PendingJob.runJob ( org/apache.beam.sdk.io.gcp.bigquery/BigQueryHelpers.java:200 )
at org.apache.beam.sdk.io.gcp.bigquery.BigQueryHelpers$PendingJobManager.waitForDone ( org/apache.beam.sdk.io.gcp.bigquery/BigQueryHelpers.java:153 )
at org.apache.beam.sdk.io.gcp.bigquery.WriteTables$WriteTablesDoFn.finishBundle ( org/apache.beam.sdk.io.gcp.bigquery/WriteTables.java:378 )

我看到其他堆栈溢出帖子并且已经尝试过以下方法:

  1. 确保 Dataflow 工作线程服务帐户被授予我正在写入的数据集的 BigQuery Admin 和 BigQuery User 角色。

  2. 数据库不是太大 - 我只复制 <10 行,因为我只是在测试它。

  3. 确保 Postgres DB 中的架构与 BigQuery 表的架构相同。

上述解决方案仍然无效,还有什么我可以尝试的吗? 谢谢!

数据集所在的项目与 Dataflow 运行的项目不同吗? 如果它们不同,您将需要在数据流项目中分配 BigQuery 用户角色。 BigQuery 作业在该项目中启动。

(目标数据集的 BigQuery Admin 角色将保持不变)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM