簡體   English   中英

Flink 無法訪問 JAR 中的文件

[英]Flink can't access files in JAR

我試圖在 flink 集群中運行一個 JAR,但我得到了這個 FileNotFound Exception。

Caused by: java.io.FileNotFoundException: File file:/tmp/flink-web-88bf3f41-94fc-40bd-a865-bb0e6d5ac95c/flink-web-upload/82227475-523d-4607-8ab2-09bae8602248-tutorial-1.0-jar-with-dependencies.jar!/ldbc_sample/edges.csv does not exist or the user running Flink ('userA') has insufficient permissions to access it.
    at org.apache.flink.core.fs.local.LocalFileSystem.getFileStatus(LocalFileSystem.java:106)

csv 文件位於項目資源目錄中的文件夾中。

我通過以下方式訪問文件路徑:

URL resource = Helper.class.getClassLoader().getResource("ldbc_sample");
return resource.getPath();

我打開 jar 並確保文件確實存在,並且我也在本地運行它,它工作。 我該怎么做才能確保 flink 可以訪問我的 csv?

也許您想將您的.csv作為參數傳遞給您的程序? 就像是:

def main(args: Array[String]): Unit = {
  val ldbcSample = ParameterTool.fromArgs(args).getRequired("ldbc_sample")
  ...
}

或者您可以使用不同的參數制作.properties文件:

ldbc_sample: /ldbc_sample/edges.csv
topic_source: TOPIC_NAME
val jobParams = ParameterTool.fromArgs(args)
val jobArgs = ParameterTool.fromPropertiesFile(jobParams.getRequired("properties_file_path"))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM