spark-shellでimportとか変数設定とかをファイル読み込みで事前にやっておくには


出来上がったアプリ、ツールなどは、
spark-submitで使えばよいが、spark-shellで対話的に
デバッグ、確認したいが、いちいち、importとか変数設定とかするのが面倒な場合は、ファイルに設定して、読み込む

prepare.scala
import org.apache.spark._
import org.apache.spark.rdd._

import com.rikima.ml.Query

val input = "/opt/hoge/data.tsv"
val model = "/opt/hoge/model.json"

def process(queries: RDD[Query]) : RDD[Int] = {
 ....
}

spark-shellの起動

shell.sh
#!/bin/sh

jars="hoge.jar"
for jar in $(ls ./extjars/*.jar)  ; do
   jars=$jars,$jar
done
spark-shell --jars $jars -i ./prepare.scala 

これで、spark-shell起動後に、input, model変数が使えたり、process functionを使える。