[英]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 )
我看到其他堆栈溢出帖子并且已经尝试过以下方法:
确保 Dataflow 工作线程服务帐户被授予我正在写入的数据集的 BigQuery Admin 和 BigQuery User 角色。
数据库不是太大 - 我只复制 <10 行,因为我只是在测试它。
确保 Postgres DB 中的架构与 BigQuery 表的架构相同。
上述解决方案仍然无效,还有什么我可以尝试的吗? 谢谢!
数据集所在的项目与 Dataflow 运行的项目不同吗? 如果它们不同,您将需要在数据流项目中分配 BigQuery 用户角色。 BigQuery 作业在该项目中启动。
(目标数据集的 BigQuery Admin 角色将保持不变)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.