我想使用shell脚本进入spark-shell,然后执行以下命令
cat abc.sh
spark-shell
val sqlContext = new org.apache.spark.sql.SQLContext(sc)
val df = sqlcontext.read.json("/file/path")
我能够进入spark-shell scala,但接下来的两个命令没有运行
或者请让我知道如何使用 shell 脚本自动运行 scala 中的 Spark 命令序列
答案1
您无法启动子 shell 并仅以您尝试的方式列出命令。大概 shell 正在等待您的输入。
一般来说,你有两条路可以走。您要么需要提供spark-shell
一个包含您希望其运行的命令的文件(如果它支持),要么使用输入重定向。这个答案通过heredoc解决了后一个选项。
按如下方式修改现有脚本可能会成功。
spark-shell << EOF
val sqlContext = new org.apache.spark.sql.SQLContext(sc)
val df = sqlcontext.read.json("/file/path")
EOF