쉘 스크립트를 사용하여 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에 들어갈 수 있지만 다음 두 명령이 실행되지 않습니다.
아니면 쉘 스크립트를 사용하여 스칼라에서 Spark 명령 시퀀스를 자동으로 실행하는 방법을 알려주십시오.
답변1
서브셸을 시작할 수 없으며 시도하는 방식으로 명령을 나열할 수 있습니다. 아마도 쉘이 사용자의 입력을 기다리고 있을 것입니다.
일반적으로 말해서, 당신이 택할 수 있는 길은 두 가지가 있습니다. spark-shell
실행하려는 명령이 포함된 파일을 제공하거나 (지원하는 경우) 입력 리디렉션을 사용해야 합니다. 이 답변은 heredoc를 통해 후자의 옵션을 다룹니다.
다음과 같이 기존 스크립트를 수정하면 성공할 수 있습니다.
spark-shell << EOF
val sqlContext = new org.apache.spark.sql.SQLContext(sc)
val df = sqlcontext.read.json("/file/path")
EOF