| #!/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 |