シェルスクリプトを使用して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に入ることはできますが、次の2つのコマンドは実行されません。
または、シェルスクリプトを使用してスカラーでSparkコマンドシーケンスを自動的に実行する方法を教えてください。
答え1
サブシェルを起動できず、試行する方法でコマンドを一覧表示できます。おそらく、シェルはユーザーの入力を待っています。
一般的に言えば、あなたが選ぶことができる方法は2つあります。spark-shell
実行するコマンドを含むファイルを提供するか(サポートしている場合)、入力リダイレクトを使用する必要があります。この答えはheredocを通して後者のオプションをカバーしています。
次のように既存のスクリプトを変更すると、成功する可能性があります。
spark-shell << EOF
val sqlContext = new org.apache.spark.sql.SQLContext(sc)
val df = sqlcontext.read.json("/file/path")
EOF