This is an automated email from the ASF dual-hosted git repository.
zjffdu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/zeppelin.git
The following commit(s) were added to refs/heads/master by this push:
new b9118fd [ZEPPELIN-5417] Unable to set conda env in pyspark (#4147)
b9118fd is described below
commit b9118fd47e2e908c4c2ac05aa28d63fe424f91ba
Author: Jeff Zhang <[email protected]>
AuthorDate: Sun Jul 4 14:55:17 2021 +0800
[ZEPPELIN-5417] Unable to set conda env in pyspark (#4147)
* [ZEPPELIN-5417] Unable to set conda env in pyspark
---
.../apache/zeppelin/python/PythonInterpreter.java | 28 ++++++++++++++--------
.../apache/zeppelin/spark/PySparkInterpreter.java | 16 +++++++------
.../zeppelin/spark/IPySparkInterpreterTest.java | 1 +
.../zeppelin/jupyter/JupyterKernelInterpreter.java | 1 +
4 files changed, 29 insertions(+), 17 deletions(-)
diff --git
a/python/src/main/java/org/apache/zeppelin/python/PythonInterpreter.java
b/python/src/main/java/org/apache/zeppelin/python/PythonInterpreter.java
index 57ee9ac..23c0945 100644
--- a/python/src/main/java/org/apache/zeppelin/python/PythonInterpreter.java
+++ b/python/src/main/java/org/apache/zeppelin/python/PythonInterpreter.java
@@ -80,16 +80,24 @@ public class PythonInterpreter extends Interpreter {
public void open() throws InterpreterException {
// try IPythonInterpreter first
iPythonInterpreter = getIPythonInterpreter();
- if (getProperty("zeppelin.python.useIPython", "true").equals("true") &&
- StringUtils.isEmpty(
- iPythonInterpreter.checkKernelPrerequisite(getPythonExec()))) {
- try {
- iPythonInterpreter.open();
- LOGGER.info("IPython is available, Use IPythonInterpreter to replace
PythonInterpreter");
- return;
- } catch (Exception e) {
- iPythonInterpreter = null;
- LOGGER.warn("Fail to open IPythonInterpreter", e);
+ boolean useIPython =
Boolean.parseBoolean(getProperty("zeppelin.python.useIPython", "true"));
+
+ LOGGER.info("zeppelin.python.useIPython: {}", useIPython);
+ if (useIPython) {
+ String checkKernelPrerequisiteResult =
iPythonInterpreter.checkKernelPrerequisite(
+ getPythonExec());
+ if (StringUtils.isEmpty(checkKernelPrerequisiteResult)) {
+ try {
+ iPythonInterpreter.open();
+ LOGGER.info("IPython is available, Use IPythonInterpreter to replace
PythonInterpreter");
+ return;
+ } catch (Exception e) {
+ iPythonInterpreter = null;
+ LOGGER.warn("Fail to open IPythonInterpreter", e);
+ }
+ } else {
+ LOGGER.info("IPython requirement is not met,
checkKernelPrerequisiteResult: {}",
+ checkKernelPrerequisiteResult);
}
}
diff --git
a/spark/interpreter/src/main/java/org/apache/zeppelin/spark/PySparkInterpreter.java
b/spark/interpreter/src/main/java/org/apache/zeppelin/spark/PySparkInterpreter.java
index 6f8c96f..ca4369d 100644
---
a/spark/interpreter/src/main/java/org/apache/zeppelin/spark/PySparkInterpreter.java
+++
b/spark/interpreter/src/main/java/org/apache/zeppelin/spark/PySparkInterpreter.java
@@ -171,18 +171,20 @@ public class PySparkInterpreter extends PythonInterpreter
{
// spark.pyspark.driver.python > spark.pyspark.python >
PYSPARK_DRIVER_PYTHON > PYSPARK_PYTHON
@Override
protected String getPythonExec() {
- if (!StringUtils.isBlank(getProperty("spark.pyspark.driver.python", ""))) {
- return properties.getProperty("spark.pyspark.driver.python");
+ SparkConf sparkConf = getSparkConf();
+ if (StringUtils.isNotBlank(sparkConf.get("spark.pyspark.driver.python",
""))) {
+ return sparkConf.get("spark.pyspark.driver.python");
}
- if (!StringUtils.isBlank(getProperty("spark.pyspark.python", ""))) {
- return properties.getProperty("spark.pyspark.python");
- }
- if (System.getenv("PYSPARK_PYTHON") != null) {
- return System.getenv("PYSPARK_PYTHON");
+ if (StringUtils.isNotBlank(sparkConf.get("spark.pyspark.python", ""))) {
+ return sparkConf.get("spark.pyspark.python");
}
if (System.getenv("PYSPARK_DRIVER_PYTHON") != null) {
return System.getenv("PYSPARK_DRIVER_PYTHON");
}
+ if (System.getenv("PYSPARK_PYTHON") != null) {
+ return System.getenv("PYSPARK_PYTHON");
+ }
+
return "python";
}
diff --git
a/spark/interpreter/src/test/java/org/apache/zeppelin/spark/IPySparkInterpreterTest.java
b/spark/interpreter/src/test/java/org/apache/zeppelin/spark/IPySparkInterpreterTest.java
index 0589820..9fab73b 100644
---
a/spark/interpreter/src/test/java/org/apache/zeppelin/spark/IPySparkInterpreterTest.java
+++
b/spark/interpreter/src/test/java/org/apache/zeppelin/spark/IPySparkInterpreterTest.java
@@ -90,6 +90,7 @@ public class IPySparkInterpreterTest extends
IPythonInterpreterTest {
intpGroup.get("session_1").add(interpreter);
interpreter.setInterpreterGroup(intpGroup);
+ pySparkInterpreter.open();
interpreter.open();
}
diff --git
a/zeppelin-jupyter-interpreter/src/main/java/org/apache/zeppelin/jupyter/JupyterKernelInterpreter.java
b/zeppelin-jupyter-interpreter/src/main/java/org/apache/zeppelin/jupyter/JupyterKernelInterpreter.java
index 6c2fdc5..ea97af4 100644
---
a/zeppelin-jupyter-interpreter/src/main/java/org/apache/zeppelin/jupyter/JupyterKernelInterpreter.java
+++
b/zeppelin-jupyter-interpreter/src/main/java/org/apache/zeppelin/jupyter/JupyterKernelInterpreter.java
@@ -153,6 +153,7 @@ public class JupyterKernelInterpreter extends
AbstractInterpreter {
* @return check result of checking kernel prerequisite.
*/
public String checkKernelPrerequisite(String pythonExec) {
+ LOGGER.info("checkKernelPrerequisite using python executable: {}",
pythonExec);
ProcessBuilder processBuilder = new ProcessBuilder(pythonExec, "-m",
"pip", "freeze");
File stderrFile = null;
File stdoutFile = null;