BashでSparkコマンドシーケンスを実行する方法

BashでSparkコマンドシーケンスを実行する方法

シェルスクリプトを使用して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

おすすめ記事