Skip to content

Commit e5cfb46

Browse files
committed
Collapse duplicate code + fix potential whitespace issues
1 parent 4edcaa8 commit e5cfb46

File tree

1 file changed

+18
-15
lines changed

1 file changed

+18
-15
lines changed

bin/spark-submit

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -50,25 +50,28 @@ if [ $DEPLOY_MODE == "client" ]; then
5050
# a key value pair delimited either by white space or "=" sign. All
5151
# spark.driver.* configs must be processed now before it's too late.
5252
if [ -f "$PROPERTIES_FILE" ]; then
53-
echo "Using properties file $PROPERTIES_FILE" 1>&2
54-
DRIVER_MEMORY_CONF="spark.driver.memory"
55-
DRIVER_EXTRA_JAVA_OPTS="spark.driver.extraJavaOptions"
56-
DRIVER_EXTRA_CLASSPATH="spark.driver.extraClassPath"
57-
DRIVER_EXTRA_LIBRARY_PATH="spark.driver.extraLibraryPath"
58-
# Remove "=" sign and double quotes around the value, if any
59-
DRIVER_MEMORY_CONF=$(sed "/^#/ d" "$PROPERTIES_FILE" | grep "$DRIVER_MEMORY_CONF" | sed "s/$DRIVER_MEMORY_CONF//g" | \
60-
sed "s/^=//g" | sed "s/^\"\(.*\)\"$/\1/g" | sed "s/^[[:space:]]*//g" | sed "s/[[:space:]]*$//g")
61-
DRIVER_EXTRA_JAVA_OPTS=$(sed "/^#/ d" "$PROPERTIES_FILE" | grep "$DRIVER_EXTRA_JAVA_OPTS" | sed "s/$DRIVER_EXTRA_JAVA_OPTS//g" | \
62-
sed "s/^=//g" | sed "s/^\"\(.*\)\"$/\1/g" | sed "s/^[[:space:]]*//g" | sed "s/[[:space:]]*$//g")
63-
DRIVER_EXTRA_CLASSPATH=$(sed "/^#/ d" "$PROPERTIES_FILE" | grep "$DRIVER_EXTRA_CLASSPATH" | sed "s/$DRIVER_EXTRA_CLASSPATH//g" | \
64-
sed "s/^=//g" | sed "s/^\"\(.*\)\"$/\1/g" | sed "s/^[[:space:]]*//g" | sed "s/[[:space:]]*$//g")
65-
DRIVER_EXTRA_LIBRARY_PATH=$(sed "/^#/ d" "$PROPERTIES_FILE" | grep "$DRIVER_EXTRA_LIBRARY_PATH" | sed "s/$DRIVER_EXTRA_LIBRARY_PATH//g" | \
66-
sed "s/^=//g" | sed "s/^\"\(.*\)\"$/\1/g" | sed "s/^[[:space:]]*//g" | sed "s/[[:space:]]*$//g")
53+
echo "Using properties file $PROPERTIES_FILE." 1>&2
54+
55+
# Parse the value of the given config
56+
# This removes the "=" sign, whitespace, and double quotes around the value (if any)
57+
parse_config() {
58+
result=$(sed "/^#/ d" "$PROPERTIES_FILE" | grep "$1" | \
59+
sed "s/$1//g" | \
60+
sed "s/^[[:space:]]*=//g" | \
61+
sed "s/^[[:space:]]*\"\(.*\)\"[[:space:]]*$/\1/g" | \
62+
sed "s/^[[:space:]]*\(.*\)[[:space:]]*$/\1/g" \
63+
)
64+
}
65+
parse_config "spark.driver.memory"; DRIVER_MEMORY_CONF="$result"
66+
parse_config "spark.driver.extraJavaOptions"; DRIVER_EXTRA_JAVA_OPTS="$result"
67+
parse_config "spark.driver.extraClassPath"; DRIVER_EXTRA_CLASSPATH="$result"
68+
parse_config "spark.driver.extraLibraryPath"; DRIVER_EXTRA_LIBRARY_PATH="$result"
69+
6770
export SPARK_SUBMIT_OPTS="$SPARK_SUBMIT_OPTS $DRIVER_EXTRA_JAVA_OPTS"
6871
export SPARK_SUBMIT_CLASSPATH="$SPARK_SUBMIT_CLASSPATH:$DRIVER_EXTRA_CLASSPATH"
6972
export SPARK_SUBMIT_LIBRARY_PATH="$SPARK_SUBMIT_LIBRARY_PATH:$DRIVER_EXTRA_LIBRARY_PATH"
7073
else
71-
echo "Warning: properties file $PROPERTIES_FILE does not exist." 1>&2
74+
echo "Warning: properties file $PROPERTIES_FILE does not exist!" 1>&2
7275
fi
7376

7477
# Favor command line memory over config memory

0 commit comments

Comments
 (0)