2013-08-24 02:30:17 -04:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
|
|
|
|
#
|
|
|
|
# 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.
|
|
|
|
#
|
|
|
|
|
2014-09-08 13:24:15 -04:00
|
|
|
FWDIR="$(cd "`dirname "$0"`"/..; pwd)"
|
2013-08-24 02:30:17 -04:00
|
|
|
export SPARK_HOME="$FWDIR"
|
|
|
|
EXAMPLES_DIR="$FWDIR"/examples
|
2014-04-23 13:19:32 -04:00
|
|
|
|
2014-11-12 00:36:48 -05:00
|
|
|
. "$FWDIR"/bin/load-spark-env.sh
|
|
|
|
|
2014-05-19 18:02:35 -04:00
|
|
|
if [ -n "$1" ]; then
|
|
|
|
EXAMPLE_CLASS="$1"
|
|
|
|
shift
|
|
|
|
else
|
2014-07-03 18:06:58 -04:00
|
|
|
echo "Usage: ./bin/run-example <example-class> [example-args]" 1>&2
|
|
|
|
echo " - set MASTER=XX to use a specific master" 1>&2
|
2014-08-02 16:35:35 -04:00
|
|
|
echo " - can use abbreviated example class name relative to com.apache.spark.examples" 1>&2
|
|
|
|
echo " (e.g. SparkPi, mllib.LinearRegression, streaming.KinesisWordCountASL)" 1>&2
|
2014-05-19 18:02:35 -04:00
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
2014-04-23 13:19:32 -04:00
|
|
|
if [ -f "$FWDIR/RELEASE" ]; then
|
2015-01-19 14:58:16 -05:00
|
|
|
JAR_PATH="${FWDIR}/lib"
|
|
|
|
else
|
|
|
|
JAR_PATH="${EXAMPLES_DIR}/target/scala-${SPARK_SCALA_VERSION}"
|
2013-08-24 02:30:17 -04:00
|
|
|
fi
|
2014-04-23 13:19:32 -04:00
|
|
|
|
2015-01-19 14:58:16 -05:00
|
|
|
JAR_COUNT=0
|
|
|
|
|
2015-02-12 17:44:21 -05:00
|
|
|
for f in "${JAR_PATH}"/spark-examples-*hadoop*.jar; do
|
2015-01-19 14:58:16 -05:00
|
|
|
if [[ ! -e "$f" ]]; then
|
|
|
|
echo "Failed to find Spark examples assembly in $FWDIR/lib or $FWDIR/examples/target" 1>&2
|
|
|
|
echo "You need to build Spark before running this program" 1>&2
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
SPARK_EXAMPLES_JAR="$f"
|
|
|
|
JAR_COUNT=$((JAR_COUNT+1))
|
|
|
|
done
|
|
|
|
|
|
|
|
if [ "$JAR_COUNT" -gt "1" ]; then
|
|
|
|
echo "Found multiple Spark examples assembly jars in ${JAR_PATH}" 1>&2
|
2015-02-12 17:44:21 -05:00
|
|
|
ls "${JAR_PATH}"/spark-examples-*hadoop*.jar 1>&2
|
2015-01-19 14:58:16 -05:00
|
|
|
echo "Please remove all but one jar." 1>&2
|
2013-08-24 02:30:17 -04:00
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
2015-01-19 14:58:16 -05:00
|
|
|
export SPARK_EXAMPLES_JAR
|
|
|
|
|
2014-05-09 01:26:17 -04:00
|
|
|
EXAMPLE_MASTER=${MASTER:-"local[*]"}
|
2014-01-07 14:02:29 -05:00
|
|
|
|
2014-05-09 01:26:17 -04:00
|
|
|
if [[ ! $EXAMPLE_CLASS == org.apache.spark.examples* ]]; then
|
|
|
|
EXAMPLE_CLASS="org.apache.spark.examples.$EXAMPLE_CLASS"
|
2013-08-24 02:30:17 -04:00
|
|
|
fi
|
|
|
|
|
2015-03-11 04:03:01 -04:00
|
|
|
exec "$FWDIR"/bin/spark-submit \
|
2014-05-09 01:26:17 -04:00
|
|
|
--master $EXAMPLE_MASTER \
|
|
|
|
--class $EXAMPLE_CLASS \
|
2014-05-19 18:02:35 -04:00
|
|
|
"$SPARK_EXAMPLES_JAR" \
|
2014-05-09 01:26:17 -04:00
|
|
|
"$@"
|