首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Flink无法访问JAR中的文件

Flink无法访问JAR中的文件
EN

Stack Overflow用户
提问于 2021-11-07 13:57:40
回答 1查看 60关注 0票数 0

我试图在flink集群中运行JAR,但是得到了这个FileNotFound异常。

代码语言:javascript
复制
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文件位于项目资源目录下的文件夹中。

我通过以下方式访问文件路径:

代码语言:javascript
复制
URL resource = Helper.class.getClassLoader().getResource("ldbc_sample");
return resource.getPath();

我打开了jar,并确保这些文件确实存在,而且我还在本地运行它,它可以工作。要确保flink可以访问我的csv,我必须做些什么?

EN

回答 1

Stack Overflow用户

发布于 2021-11-08 08:52:31

也许你想把你的.csv作为参数传递给你的程序?类似于:

代码语言:javascript
复制
def main(args: Array[String]): Unit = {
  val ldbcSample = ParameterTool.fromArgs(args).getRequired("ldbc_sample")
  ...
}

或者,您可以使用不同的参数创建.properties文件:

代码语言:javascript
复制
ldbc_sample: /ldbc_sample/edges.csv
topic_source: TOPIC_NAME
代码语言:javascript
复制
val jobParams = ParameterTool.fromArgs(args)
val jobArgs = ParameterTool.fromPropertiesFile(jobParams.getRequired("properties_file_path"))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69873085

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档