From c9cda291c246ea55522c57eaa77b5567ef1bc98a Mon Sep 17 00:00:00 2001 From: Jongyoul Lee Date: Fri, 3 Jul 2015 12:28:54 +0900 Subject: [PATCH] - Removed setting SPARK_HOME - Changed the location of pyspark's directory into interpreter/spark --- bin/interpreter.sh | 14 ++++++++----- spark/pom.xml | 15 ++++++------- .../zeppelin/spark/SparkInterpreter.java | 21 +++++++++++++++---- 3 files changed, 34 insertions(+), 16 deletions(-) diff --git a/bin/interpreter.sh b/bin/interpreter.sh index c1e92d55f38..f7d6b600f0f 100755 --- a/bin/interpreter.sh +++ b/bin/interpreter.sh @@ -73,16 +73,20 @@ if [[ ! -d "${ZEPPELIN_LOG_DIR}" ]]; then $(mkdir -p "${ZEPPELIN_LOG_DIR}") fi -if [[ x"" == x${PYTHONPATH} ]]; then - export PYTHONPATH="${ZEPPELIN_HOME}/python/lib/pyspark.zip:${ZEPPELIN_HOME}/python/lib/py4j-0.8.2.1-src.zip" +if [[ ! -z "${SPARK_HOME}" ]]; then + PYSPARKPATH="${SPARK_HOME}/python/lib/pyspark.zip:${SPARK_HOME}/python/lib/py4j-0.8.2.1-src.zip" else - export PYTHONPATH="$PYTHONPATH:${ZEPPELIN_HOME}/lib/pyspark.zip:${ZEPPELIN_HOME}/python/lib/py4j-0.8.2.1-src.zip" + PYSPARKPATH="${ZEPPELIN_HOME}/interpreter/spark/pyspark/pyspark.zip:${ZEPPELIN_HOME}/interpreter/spark/pyspark/py4j-0.8.2.1-src.zip" fi -if [[ x"" == x${SPARK_HOME} ]]; then - export SPARK_HOME=${ZEPPELIN_HOME} + +if [[ x"" == x"${PYTHONPATH}" ]]; then + export PYTHONPATH="${PYSPARKPATH}" +else + export PYTHONPATH="${PYTHONPATH}:${PYSPARKPATH}" fi +unset PYSPARKPATH ${ZEPPELIN_RUNNER} ${JAVA_INTP_OPTS} -cp ${CLASSPATH} ${ZEPPELIN_SERVER} ${PORT} & pid=$! diff --git a/spark/pom.xml b/spark/pom.xml index 71bd4e40175..dfca8eea3f1 100644 --- a/spark/pom.xml +++ b/spark/pom.xml @@ -779,13 +779,14 @@ - - - - - - + + + + diff --git a/spark/src/main/java/org/apache/zeppelin/spark/SparkInterpreter.java b/spark/src/main/java/org/apache/zeppelin/spark/SparkInterpreter.java index a3670533c4b..e87b6fb6275 100644 --- a/spark/src/main/java/org/apache/zeppelin/spark/SparkInterpreter.java +++ b/spark/src/main/java/org/apache/zeppelin/spark/SparkInterpreter.java @@ -271,14 +271,27 @@ public SparkContext createSparkContext() { } //TODO(jongyoul): Move these codes into PySparkInterpreter.java - String zeppelinHome = getSystemDefault("ZEPPELIN_HOME", "zeppelin.home", "../"); - File zeppelinPythonLibPath = new File(zeppelinHome, "python/lib"); +// String zeppelinHome = getSystemDefault("ZEPPELIN_HOME", "zeppelin.home", "../"); +// File zeppelinPythonLibPath = new File(zeppelinHome, "python/lib"); + + String pysparkBasePath = getSystemDefault("SPARK_HOME", "spark.home", null); + File pysparkPath; + if (null == pysparkBasePath) { + pysparkBasePath = getSystemDefault("ZEPPELIN_HOME", "zeppelin.home", "../"); + pysparkPath = new File(pysparkBasePath, + "interpreter" + File.separator + "spark" + File.separator + "pyspark"); + } else { + pysparkPath = new File(pysparkBasePath, + "python" + File.separator + "lib"); + } + String[] pythonLibs = new String[]{"pyspark.zip", "py4j-0.8.2.1-src.zip"}; ArrayList pythonLibUris = new ArrayList<>(); for (String lib : pythonLibs) { - File libFile = new File(zeppelinPythonLibPath, lib); +// File libFile = new File(zeppelinPythonLibPath, lib); + File libFile = new File(pysparkPath, lib); if (libFile.exists()) { - pythonLibUris.add(libFile.toURI().toString()); + pythonLibUris.add(libFile.toURI().toString()); } } pythonLibUris.trimToSize();