3838 JAR_CMD=" jar"
3939fi
4040
41- # First check if we have a dependencies jar. If so, include binary classes with the deps jar
42- if [ -f " $ASSEMBLY_DIR " /spark-assembly* hadoop* -deps.jar ]; then
41+ # A developer option to prepend more recently compiled Spark classes
42+ if [ -n " $SPARK_PREPEND_CLASSES " ]; then
43+ echo " NOTE: SPARK_PREPEND_CLASSES is set, placing locally compiled Spark" \
44+ " classes ahead of assembly." >&2
4345 CLASSPATH=" $CLASSPATH :$FWDIR /core/target/scala-$SCALA_VERSION /classes"
4446 CLASSPATH=" $CLASSPATH :$FWDIR /repl/target/scala-$SCALA_VERSION /classes"
4547 CLASSPATH=" $CLASSPATH :$FWDIR /mllib/target/scala-$SCALA_VERSION /classes"
@@ -51,17 +53,31 @@ if [ -f "$ASSEMBLY_DIR"/spark-assembly*hadoop*-deps.jar ]; then
5153 CLASSPATH=" $CLASSPATH :$FWDIR /sql/core/target/scala-$SCALA_VERSION /classes"
5254 CLASSPATH=" $CLASSPATH :$FWDIR /sql/hive/target/scala-$SCALA_VERSION /classes"
5355 CLASSPATH=" $CLASSPATH :$FWDIR /yarn/stable/target/scala-$SCALA_VERSION /classes"
56+ fi
5457
55- ASSEMBLY_JAR=$( ls " $ASSEMBLY_DIR " /spark-assembly* hadoop* -deps.jar 2> /dev/null)
58+ # Use spark-assembly jar from either RELEASE or assembly directory
59+ if [ -f " $FWDIR /RELEASE" ]; then
60+ assembly_folder=" $FWDIR " /lib
5661else
57- # Else use spark-assembly jar from either RELEASE or assembly directory
58- if [ -f " $FWDIR /RELEASE" ]; then
59- ASSEMBLY_JAR=$( ls " $FWDIR " /lib/spark-assembly* hadoop* .jar 2> /dev/null)
60- else
61- ASSEMBLY_JAR=$( ls " $ASSEMBLY_DIR " /spark-assembly* hadoop* .jar 2> /dev/null)
62- fi
62+ assembly_folder=" $ASSEMBLY_DIR "
6363fi
6464
65+ num_jars=$( ls " $assembly_folder " | grep " spark-assembly.*hadoop.*\.jar" | wc -l)
66+ if [ " $num_jars " -eq " 0" ]; then
67+ echo " Failed to find Spark assembly in $assembly_folder "
68+ echo " You need to build Spark before running this program."
69+ exit 1
70+ fi
71+ if [ " $num_jars " -gt " 1" ]; then
72+ jars_list=$( ls " $assembly_folder " | grep " spark-assembly.*hadoop.*.jar" )
73+ echo " Found multiple Spark assembly jars in $assembly_folder :"
74+ echo " $jars_list "
75+ echo " Please remove all but one jar."
76+ exit 1
77+ fi
78+
79+ ASSEMBLY_JAR=$( ls " $assembly_folder " /spark-assembly* hadoop* .jar 2> /dev/null)
80+
6581# Verify that versions of java used to build the jars and run Spark are compatible
6682jar_error_check=$( " $JAR_CMD " -tf " $ASSEMBLY_JAR " nonexistent/class/path 2>&1 )
6783if [[ " $jar_error_check " =~ " invalid CEN header" ]]; then
0 commit comments