From 5469b6be37ebbf012dc18a9929925822e6f545e0 Mon Sep 17 00:00:00 2001 From: Jeff Zhang Date: Thu, 5 Dec 2019 21:55:55 +0800 Subject: [PATCH] [ZEPPELIN-4468]. Allow user to set form type via interpreter local properties --- .../zeppelin/integration/ZeppelinSparkClusterTest.java | 10 +++++++++- .../java/org/apache/zeppelin/notebook/Paragraph.java | 7 ++++--- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/zeppelin-interpreter-integration/src/test/java/org/apache/zeppelin/integration/ZeppelinSparkClusterTest.java b/zeppelin-interpreter-integration/src/test/java/org/apache/zeppelin/integration/ZeppelinSparkClusterTest.java index 0a241dc2e24..9397c49128a 100644 --- a/zeppelin-interpreter-integration/src/test/java/org/apache/zeppelin/integration/ZeppelinSparkClusterTest.java +++ b/zeppelin-interpreter-integration/src/test/java/org/apache/zeppelin/integration/ZeppelinSparkClusterTest.java @@ -399,7 +399,7 @@ public void sparkRTest() throws IOException { } } - // @Test + @Test public void pySparkTest() throws IOException { // create new note Note note = null; @@ -412,6 +412,14 @@ public void pySparkTest() throws IOException { note.run(p.getId(), true); assertEquals(Status.FINISHED, p.getStatus()); assertEquals("55\n", p.getReturn().message().get(0).getData()); + + // simple form via local properties + p = note.addNewParagraph(anonymous); + p.setText("%spark.pyspark(form=simple) print('name_' + '${name=abc}')"); + note.run(p.getId(), true); + assertEquals(Status.FINISHED, p.getStatus()); + assertEquals("name_abc\n", p.getReturn().message().get(0).getData()); + if (!isSpark2()) { // run sqlContext test p = note.addNewParagraph(anonymous); diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/Paragraph.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/Paragraph.java index ae3db7bd097..91a77eb3918 100644 --- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/Paragraph.java +++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/Paragraph.java @@ -465,9 +465,8 @@ protected InterpreterResult jobRun() throws Throwable { // inject form String script = this.scriptText; - if (interpreter.getFormType() == FormType.NATIVE) { - settings.clear(); - } else if (interpreter.getFormType() == FormType.SIMPLE) { + if ("simple".equalsIgnoreCase(localProperties.get("form")) || + interpreter.getFormType() == FormType.SIMPLE) { // inputs will be built from script body LinkedHashMap inputs = Input.extractSimpleQueryForm(script, false); LinkedHashMap noteInputs = Input.extractSimpleQueryForm(script, true); @@ -490,6 +489,8 @@ protected InterpreterResult jobRun() throws Throwable { } script = Input.getSimpleQuery(note.getNoteParams(), scriptBody, true); script = Input.getSimpleQuery(settings.getParams(), script, false); + } else { + settings.clear(); } LOGGER.debug("RUN : " + script);