求助:shell脚本如何把需要执行的代码传入另一个环境(spark-shell)?

u010106946 2014-08-04 08:15:49
我是一个实习生,碰到搞不定的问题了,求助:

最近做MLlib,./spark-shell运行以后,会进入一个特殊的scala环境,然后在命令行输入scala代码段,已跑通。
之所以说是特殊的scala环境,是因为我保存代码段到scala文件后,用scala filename.scala命令运行会报错。

现在我想做的事,是想要用shell脚本,将那一段scala代码,传递给spark-shell运行,同时屏幕输出结果(或者返回结果)

但我在
#!/usr/lib/spark/bin/spark-shell sh
代码代码代码

#!/usr/lib/spark/bin/spark-shell sh
scala kmeans.scala
这两种情况都失败了,程序只会进入spark-shell的环境,而不执行我想要它做的

我的目的:
用脚本,
启动spark-shell,在该环境下输入我想执行的scala代码段并执行
所有结果都输出在屏幕上

有没有大神能告诉我该怎么做?

或者,如果我这是痴心妄想,那么,还有别的什么办法能做到吗?
...全文
617 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
yushu4772 2018-07-25
  • 打赏
  • 举报
回复
请问传参的话怎么操作呀
Kevin-tao 2015-02-04
  • 打赏
  • 举报
回复
请问你最后是怎么解决这个问题的吗,我也遇到这个问题
u010106946 2014-08-05
  • 打赏
  • 举报
回复
引用 1 楼 colddown 的回复:
1. “启动spark-shell,在该环境下输入我想执行的scala代码段并执行” 可以使用expect程序。或者试试/usr/lib/spark/bin/spark-shell < filename.scala 2. 我觉得你还是应该查一查为什么用用scala filename.scala会出错。搞清楚问题的原因很重要。 3. 脚本应该写成: #!/usr/lib/spark/bin/spark-shell scala 代码 或者 #!/bin/bash scala kmeans.scala
谢谢 查了一下except,但最近没时间学 scala报错,是因为本地环境提供不了spark上面的包 使用<确实是有效的,但出了一个小问题: 当我运行完shell脚本以后,命令行窗口的光标不动了。。 我在键盘输入,光标不动(即无法显示输入),但输入的指令在敲回车之后还会执行, 只是某些指令不再换行(比如ls,不再换行显示,空行敲回车也不换行)。。 这种情况不晓得该怎么查。。
u010106946 2014-08-05
  • 打赏
  • 举报
回复
引用 3 楼 colddown 的回复:
应该是你的终端设置被搞乱了,试试: stty echo stty onlcr
不执行脚本是好的,执行完就坏了。。 但是第一句管用(stty echo) 加到脚本后面,修好了 再次感谢
colddown 2014-08-05
  • 打赏
  • 举报
回复
应该是你的终端设置被搞乱了,试试: stty echo stty onlcr
colddown 2014-08-04
  • 打赏
  • 举报
回复
1. “启动spark-shell,在该环境下输入我想执行的scala代码段并执行” 可以使用expect程序。或者试试/usr/lib/spark/bin/spark-shell < filename.scala 2. 我觉得你还是应该查一查为什么用用scala filename.scala会出错。搞清楚问题的原因很重要。 3. 脚本应该写成: #!/usr/lib/spark/bin/spark-shell scala 代码 或者 #!/bin/bash scala kmeans.scala

23,117

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧