2017-06-01 40 views

回答

1

我不明白爲什麼你需要做這個後管道執行。您可以使用側面輸出將文件寫入多個存儲桶,並在管道完成後保存自己的副本。

如果這不適合你(無論什麼原因),那麼你可以簡單地在blocking execution模式下運行你的管道,即使用pipeline.run().waitUntilFinish(),然後在那之後寫下你的代碼的其餘部分。

[..] 
/do some stuff before the pipeline runs 
Pipeline pipeline = ... 
pipeline.run().waitUntilFinish(); 
//do something after the pipeline finishes here 
[..] 
+0

謝謝。使用'BlockingDataflowPipelineRunner'運行這個工作就可以實現。 'waitUntilFinish()'似乎在1.x Java API中不可用。 – user01380121

+1

正確,不是。您在1.x中使用Blocking runner和wait/poll –

-1

我覺得兩個選項可以幫助你在這裏:

1)使用TextIO寫入桶或你想要的,指定的確切GCS路徑(如GS文件夾://沙箱/其他桶)

2)使用Object Change Notifications結合Cloud Functions。你可以在這個here和JS的GCS SDK中找到一個很好的入門書。在這個選項中你將做的事情基本上是在某物桶落下時設置一個觸發器,並使用自己寫的雲功能將其移動到另一個。

相關問題