diff --git a/bin/spark-sql b/bin/spark-sql index ad28f5c103a27..61ebd8ab6dec8 100755 --- a/bin/spark-sql +++ b/bin/spark-sql @@ -58,31 +58,37 @@ if [[ "$@" = --help ]] || [[ "$@" = -h ]]; then exit 0 fi -CLI_ARGS="" -SUBMISSION_ARGS="" +CLI_ARGS=() +SUBMISSION_ARGS=() while (($#)); do - case $1 in - -d | --define | --database | -e | -f | -h | --hiveconf | --hivevar | -i | -p) + case $1 in + -d | --define | --database | -f | -h | --hiveconf | --hivevar | -i | -p) ensure_arg_number $# 2 - CLI_ARGS+=" $1"; shift - CLI_ARGS+=" $1"; shift + CLI_ARGS+=($1); shift + CLI_ARGS+=($1); shift + ;; + + -e) + ensure_arg_number $# 2 + CLI_ARGS+=($1); shift + CLI_ARGS+=(\"$1\"); shift ;; -s | --silent) - CLI_ARGS+=" $1"; shift + CLI_ARGS+=($1); shift ;; -v | --verbose) # Both SparkSubmit and SparkSQLCLIDriver recognizes -v | --verbose - CLI_ARGS+=" $1" - SUBMISSION_ARGS+=" $1"; shift + CLI_ARGS+=($1) + SUBMISSION_ARGS+=($1); shift ;; *) - SUBMISSION_ARGS+=" $1"; shift + SUBMISSION_ARGS+=($1); shift ;; esac done -exec "$FWDIR"/bin/spark-submit --class $CLASS $SUBMISSION_ARGS spark-internal $CLI_ARGS +eval exec "$FWDIR"/bin/spark-submit --class $CLASS ${SUBMISSION_ARGS[*]} spark-internal ${CLI_ARGS[*]} diff --git a/sbin/start-thriftserver.sh b/sbin/start-thriftserver.sh index 65141a0a156d7..603f50ae13240 100755 --- a/sbin/start-thriftserver.sh +++ b/sbin/start-thriftserver.sh @@ -58,21 +58,21 @@ if [[ "$@" = --help ]] || [[ "$@" = -h ]]; then exit 0 fi -THRIFT_SERVER_ARGS="" -SUBMISSION_ARGS="" +THRIFT_SERVER_ARGS=() +SUBMISSION_ARGS=() while (($#)); do case $1 in --hiveconf) ensure_arg_number $# 2 - THRIFT_SERVER_ARGS+=" $1"; shift - THRIFT_SERVER_ARGS+=" $1"; shift + THRIFT_SERVER_ARGS+=($1); shift + THRIFT_SERVER_ARGS+=($1); shift ;; *) - SUBMISSION_ARGS+=" $1"; shift + SUBMISSION_ARGS+=($1); shift ;; esac done -exec "$FWDIR"/bin/spark-submit --class $CLASS $SUBMISSION_ARGS spark-internal $THRIFT_SERVER_ARGS +eval exec "$FWDIR"/bin/spark-submit --class $CLASS ${SUBMISSION_ARGS[*]} spark-internal ${THRIFT_SERVER_ARGS[*]}