通过定制可以让spark接口更友好。
shell启动脚本:
#!/bin/bash
SPARK_HOME=${SPARK_HOME:-/sysdir/spark-1.0.0}
StartFile="${SPARK_HOME}/bin/start.scala"
StartStr="-i:${StartFile}"
ExitFile="${SPARK_HOME}/bin/exit.scala"
ExitStr=""
NoExit=0
declare -a args
i=0
while [[ $# -gt 0 ]]
do
case "$1" in
-start:*)
parafile=$1
StartStr="-i:${parafile#*:}"
;;
-nostart)
StartStr=""
;;
-i:*)
eval args[${i}]=$1
i=$((${i}+1))
if [[ NoExit -eq 0 ]]; then
ExitStr="-i:${ExitFile}"
fi
;;
-noexit)
NoExit=1
ExitStr=""
;;
*)
eval args[${i}]=$1
i=$((${i}+1))
;;
esac
shift
done
${SPARK_HOME}/bin/spark-shell "${StartStr}" "${args[@]}" "${ExitStr}"
exit.scala很简单,只有一行代码:
sys.exit()