【问题标题】:How can I stage additional files using Google Cloud Dataflow?如何使用 Google Cloud Dataflow 暂存其他文件?
【发布时间】:2017-09-08 21:42:48
【问题描述】:

我正在阅读我的 Google Dataflow 程序中的一堆配置文件,想知道暂存它们的最佳方法是什么。目前我是这样做的,系统找不到。

FileReader filereader1 = new FileReader("config_1.csv");
FileReader filereader2 = new FileReader("config_2.csv");

config_1.csvconfig_2.csv存储在./target/classes/org/model/examples/

我的运行脚本是这样的:

mvn compile exec:java -Dexec.mainClass=org.model.examples.MyPipeline \
-Dexec.args="--runner=DataflowRunner \
    --project=mortgage-data-warehouse
    --gcpTempLocation=gs://my-project-bucket/tmp \
    --inputFile=gs://my-project-bucket/Data/input.txt \
    --filesToStage=./target/classes/org/datamodel/examples/config_1.csv, ./target/classes/org/datamodel/examples/config_2.csv" \    
-Pdataflow-runner

我有错误

java.io.FileNotFoundException: config_1.csv(系统找不到指定的文件)

我想知道这是否是设置--filesToStage 的正确方法。

【问题讨论】:

  • 你能提供错误的完整堆栈跟踪吗?提交作业时,您是在本地计算机上获得FileNotFoundException,还是在尝试读取文件时在 Dataflow 作业中获得FileNotFoundException

标签: google-cloud-dataflow apache-beam


【解决方案1】:

对于小的配置文件,最好从资源文件夹中读取文件,例如这个link写的,避免使用--filesToStage的复杂性

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-08-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多