我需要在管道获取其输入数据之前清除一个表,并且我希望此步骤作为管道本身的一部分在云中运行,而不是在本地运行。
这就是代码目前的样子,clearTable()
在本地运行:
exactTargetIntegration.clearTable(); // runs locally
Pipeline p = Pipeline.create(options);
PCollection<String> readFromFile =
p.apply(TextIO.Read.from(INPUT_FILES)); // runs in the cloud
...
有可能吗?
答案 0 :(得分:1)
目前还没有办法确保在同一管道中读取之前发生某些操作。如果您需要在云中运行您的操作,则可以将其作为在第一个之前运行的单独管道运行。
例如:
DataflowPipelineOptions options = ...
options.setRunner(BlockingDataflowPipelineRunner.class);
Pipeline deletePipeline = <build deletion pipeline>
Pipeline mainPipeline = <build main pipeline>
deletePipeline.run(options);
mainPipeline.run(options);
此外,这个用例肯定是我们想要支持的;您可以在此处跟踪问题:https://issues.apache.org/jira/browse/BEAM-65