Apache Beam With GCP Dataflow throws INVALID_ARGUMENT



我一直在尝试将数据从一个BigQuery项目迁移到另一个BigQuery项目。当我尝试对20个表执行它时,它工作得很好。但是,每当尝试添加更多表时,它就会崩溃:

报告作业状态失败,错误码:INVALID_ARGUMENT

My Code看起来像:

PCollection<TableRow> rows;
List<String> tablesNames = fetchTablesFromSourceBigQuery();
PipelineOptionsFactory.register(MyOptions.class);
MyOptions options = PipelineOptionsFactory.fromArgs(args).withValidation().as(MyOptions.class);
Pipeline p = Pipeline.create(options);
for(String tableName: tableNames){
rows = p.apply("Reading from table",  BigQueryIO.readTableRows().from("sourceProject:sourceDataset."+tableName);
rows.apply("Writing to table", BigQueryIO.writeTableRows().to("destProject:destDataset."+tableName);
}
p.run();

作业图太大导致此问题。

这个问题可以通过在代码中包含标志--experiments=upload_graph来解决。

有关更多信息,请参考此代码和堆栈链接。

相关内容

  • 没有找到相关文章

最新更新