2017-04-25 80 views
0

我正在尝试创建处理数千个文件的数据流作业,并且为每个文件写入到GCS中的其他目标。Google Dataflow作业因“上传数据不足”而失败

我必须做很多TextIO作为源代码并将其作为单独的流写入目标。示例代码片段如下:

List<PCollection<String>> pcs = new ArrayList<>(); 
 
for(int i = 0; i < 2000; i++) { 
 
     pcs.add(p.apply(TextIO.Read.from("gs://wushilin-asia/some-folder/input-" + i + "/*"))); 
 
} 
 

 
for(int i = 0; i < 2000; i++) { 
 
     pcs.get(i).apply(TextIO.Write.to("gs://wushilin-asia/some-folder/output-" + i + "/")); 
 
} 
 
p.run();

这静静地失败(似乎永远挂),误差在后台“上传数据不足”。

这里怎么回事?

+0

事实证明,数据流结构太复杂,数据流作业元数据存储无法处理它。减少到更少的组件解决了这个问题 –

回答

0

事实证明,数据流结构太复杂,数据流作业元数据存储无法处理它。减少到更少的组件解决了这个问题