blob: 239182a7f0ca1483a5b13ccea108becda16c2b1b [file] [log] [blame]
#!/bin/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.
#
#--------------------------------------------------------------------------------
#
# run Apache MRQL in Apache Spark mode
#
#--------------------------------------------------------------------------------
MRQL_HOME="$(cd `dirname $0`/..; pwd -P)"
. "$MRQL_HOME/conf/mrql-env.sh"
if [[ -z ${SPARK_JARS} ]]; then
echo "*** Cannot find the Spark jar file. Need to edit mrql-env.sh"; exit -1
fi
GEN_JAR=`ls "$MRQL_HOME"/lib/mrql-gen-*.jar`
CORE_JAR=`ls "$MRQL_HOME"/lib/mrql-core-*.jar`
MRQL_JAR=`ls "$MRQL_HOME"/lib/mrql-spark-*.jar`
export SPARK_HOME FS_DEFAULT_NAME SPARK_MASTER SPARK_EXECUTOR_INSTANCES SPARK_EXECUTOR_CORES SPARK_EXECUTOR_MEMORY SPARK_MASTER_MEMORY
if [ "$1" == "-local" ] || [ "$1" == "-dist" ]; then
ARGS=($*)
for (( i = 0; i < $#; i++ )); do
if [ "${ARGS[i]}" = "-nodes" ]; then
# calculate the number of Yarn containers from the number of requested nodes
export SPARK_EXECUTOR_INSTANCES=$(( (${ARGS[i+1]} + $SPARK_EXECUTOR_CORES - 1) / $SPARK_EXECUTOR_CORES ))
fi
done
$SPARK_HOME/bin/spark-submit --class org.apache.mrql.Main --jars $CUP_JAR,$JLINE_JAR,$GEN_JAR,$CORE_JAR --driver-class-path $CUP_JAR:$JLINE_JAR:$GEN_JAR:$CORE_JAR:$MRQL_JAR $MRQL_JAR -spark $*
else
$JAVA_HOME/bin/java -classpath $CUP_JAR:$JLINE_JAR:$GEN_JAR:$CORE_JAR:$MRQL_JAR:$SPARK_JARS org.apache.mrql.Main -spark $*
fi