![](/img/trans.png)
[英]Google Cloud Dataflow unable to find parent directory in Google Storage
[英]Unable to create a google cloud dataflow template through CLI command using Java
我正在研究谷歌應用引擎項目,我為谷歌雲數據流工作創建了一個類,並嘗試按照步驟https://cloud.google.com/dataflow/docs/guides/templates/creating-templates#creating-and -登台模板? 但是當我嘗試執行鏈接中提供的命令時,我的數據流作業立即開始執行,我不想開始執行我只想創建一個模板並稍后執行
我嘗試執行和創建模板的命令:
mvn compile exec:java -Dexec.mainClass=com.testUtils.TimeSpentDataFlow -Dexec.args="--runner=DataflowRunner --project=my-project-id --stagingLocation=gs://staging --templateLocation=gs: //MyTemplateData16Apr19"
我也嘗試過自定義選項類,但沒有運氣。 下面是我的代碼片段
public static void main(String[] args) {
logger.info("main start");
init();
logger.info("main end");
}
private static void init() {
DataflowPipelineOptions dataflowOptions = PipelineOptionsFactory.as(DataflowPipelineOptions.class);
dataflowOptions.setGcpTempLocation("gs://gcpTempLocation/");
dataflowOptions.setProject("my-project-id");
dataflowOptions.setStagingLocation("gs://stagingLocation/");
dataflowOptions.setRunner(DataflowRunner.class);
FileSystems.setDefaultPipelineOptions(dataflowOptions);
Pipeline p = Pipeline.create(dataflowOptions);
p.apply(Create.of("5435798895722496"))
.apply(new PrintData());
p.run().waitUntilFinish();
}
當我嘗試為默認 wordcount 程序執行命令時,模板會被創建,但是如果我使用自定義類嘗試相同的命令,它就會開始執行
您的命令行參數沒有被傳遞到管道選項中。 如果要使用命令行參數,請將初始化“dataflowOptions”的塊替換為:
DataflowPipelineOptions dataflowOptions =
PipelineOptionsFactory.fromArgs(args)
.withValidation()
.as(DataflowPipelineOptions.class);
另一個選項是設置模板位置:
dataflowOptions.setTemplateLocation("gs://MyTemplateData16Apr19");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.