2012-12-28 10:47:37 +04:00
|
|
|
#!/usr/bin/env bash
|
2012-10-20 04:16:41 +04:00
|
|
|
|
2013-07-17 04:21:33 +04:00
|
|
|
#
|
|
|
|
# Licensed to the Apache Software Foundation (ASF) under one or more
|
|
|
|
# contributor license agreements. See the NOTICE file distributed with
|
|
|
|
# this work for additional information regarding copyright ownership.
|
|
|
|
# The ASF licenses this file to You under the Apache License, Version 2.0
|
|
|
|
# (the "License"); you may not use this file except in compliance with
|
|
|
|
# the License. You may obtain a copy of the License at
|
|
|
|
#
|
|
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
#
|
|
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
|
|
# See the License for the specific language governing permissions and
|
|
|
|
# limitations under the License.
|
|
|
|
#
|
|
|
|
|
2012-10-20 04:16:41 +04:00
|
|
|
# Figure out where the Scala framework is installed
|
2013-01-02 02:48:45 +04:00
|
|
|
FWDIR="$(cd `dirname $0`; pwd)"
|
2012-10-20 04:16:41 +04:00
|
|
|
|
|
|
|
# Export this as SPARK_HOME
|
|
|
|
export SPARK_HOME="$FWDIR"
|
|
|
|
|
2013-01-17 23:14:47 +04:00
|
|
|
# Exit if the user hasn't compiled Spark
|
|
|
|
if [ ! -e "$SPARK_HOME/repl/target" ]; then
|
|
|
|
echo "Failed to find Spark classes in $SPARK_HOME/repl/target" >&2
|
|
|
|
echo "You need to compile Spark before running this program" >&2
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
2012-10-20 04:16:41 +04:00
|
|
|
# Load environment variables from conf/spark-env.sh, if it exists
|
|
|
|
if [ -e $FWDIR/conf/spark-env.sh ] ; then
|
|
|
|
. $FWDIR/conf/spark-env.sh
|
|
|
|
fi
|
|
|
|
|
|
|
|
# Figure out which Python executable to use
|
|
|
|
if [ -z "$PYSPARK_PYTHON" ] ; then
|
|
|
|
PYSPARK_PYTHON="python"
|
|
|
|
fi
|
|
|
|
export PYSPARK_PYTHON
|
|
|
|
|
|
|
|
# Add the PySpark classes to the Python path:
|
2013-01-02 02:48:45 +04:00
|
|
|
export PYTHONPATH=$SPARK_HOME/python/:$PYTHONPATH
|
2012-10-20 04:16:41 +04:00
|
|
|
|
2013-01-02 09:25:49 +04:00
|
|
|
# Load the PySpark shell.py script when ./pyspark is used interactively:
|
|
|
|
export OLD_PYTHONSTARTUP=$PYTHONSTARTUP
|
|
|
|
export PYTHONSTARTUP=$FWDIR/python/pyspark/shell.py
|
|
|
|
|
2013-01-01 02:56:23 +04:00
|
|
|
# Launch with `scala` by default:
|
|
|
|
if [[ "$SPARK_LAUNCH_WITH_SCALA" != "0" ]] ; then
|
|
|
|
export SPARK_LAUNCH_WITH_SCALA=1
|
|
|
|
fi
|
|
|
|
|
2013-07-29 06:21:04 +04:00
|
|
|
if [ -n "$IPYTHON_OPTS" ]; then
|
|
|
|
IPYTHON=1
|
|
|
|
fi
|
|
|
|
|
2013-02-07 18:54:31 +04:00
|
|
|
if [[ "$IPYTHON" = "1" ]] ; then
|
2013-07-29 06:21:04 +04:00
|
|
|
IPYTHON_OPTS=${IPYTHON_OPTS:--i}
|
|
|
|
exec ipython "$IPYTHON_OPTS" -c "%run $PYTHONSTARTUP"
|
2013-02-07 18:54:31 +04:00
|
|
|
else
|
2013-07-29 06:21:04 +04:00
|
|
|
exec "$PYSPARK_PYTHON" "$@"
|
2013-02-07 18:54:31 +04:00
|
|
|
fi
|