【问题标题】:Running shell script as a part of spark job作为 spark 作业的一部分运行 shell 脚本
【发布时间】:2017-05-08 13:20:58
【问题描述】:

我正在使用 spark submit 提交一个包含 shell 脚本执行的 sparkjob。 我将脚本执行的逻辑写为:

 val paraname = encFile.substring(0,encFile.length()-4)
     val pb = new ProcessBuilder("/home/roswal01/gpghdfs.sh",paraname)
     val p : Process = pb.start()

但是当我通过我的 spark-job 运行它时,它给了我一个错误

java.io.IOException: Cannot run program

这可能是什么问题?

【问题讨论】:

  • 那个 shell 脚本存储在哪里?
  • @DavidSchuler 在我的 unix 主页上
  • 如果您使用的是 HDFS,但该脚本位于 HDFS 中,请尝试从那里引用它
  • @DavidSchuler 也尝试过同样的错误。

标签: java scala shell hadoop apache-spark


【解决方案1】:

是否可能没有在 bash 文件上设置可执行属性,例如

chmod +x /home/roswal01/gpghdfs.sh

【讨论】:

  • 感谢您抽出宝贵时间提供答案。正是因为像您这样乐于助人的同龄人,我们才能作为一个社区一起学习。以下是一些关于如何使您的答案出色的提示:How do I write a good answer
猜你喜欢
  • 2021-07-20
  • 2016-03-19
  • 2013-03-16
  • 1970-01-01
  • 1970-01-01
  • 2015-02-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多