diff --git a/scalding/pom.xml b/scalding/pom.xml
index a5aae18f7e..6d0fd39a6c 100644
--- a/scalding/pom.xml
+++ b/scalding/pom.xml
@@ -35,6 +35,7 @@
2.10.5
+ 2.5.0
@@ -104,6 +105,12 @@
scala-reflect
${scala.version}
+
+
+ org.apache.hadoop
+ hadoop-client
+ ${hadoop.version}
+
diff --git a/scalding/src/main/java/org/apache/zeppelin/scalding/ScaldingInterpreter.java b/scalding/src/main/java/org/apache/zeppelin/scalding/ScaldingInterpreter.java
index 86bb801ef8..7ebfb77286 100644
--- a/scalding/src/main/java/org/apache/zeppelin/scalding/ScaldingInterpreter.java
+++ b/scalding/src/main/java/org/apache/zeppelin/scalding/ScaldingInterpreter.java
@@ -37,6 +37,7 @@ import org.slf4j.LoggerFactory;
import com.twitter.scalding.ScaldingILoop;
+import scala.Console;
import scala.Some;
import scala.tools.nsc.Settings;
import scala.tools.nsc.settings.MutableSettings.BooleanSetting;
@@ -56,9 +57,11 @@ public class ScaldingInterpreter extends Interpreter {
}
private ScaldingILoop interpreter;
+ private ByteArrayOutputStream out;
public ScaldingInterpreter(Properties property) {
super(property);
+ out = new ByteArrayOutputStream();
}
@Override
@@ -177,6 +180,8 @@ public class ScaldingInterpreter extends Interpreter {
}
linesToRun[lines.length] = "print(\"\")";
+ Console.setOut(new PrintStream(out));
+ out.reset();
Code r = null;
String incomplete = "";
@@ -203,7 +208,7 @@ public class ScaldingInterpreter extends Interpreter {
r = getResultCode(res);
if (r == Code.ERROR) {
- return new InterpreterResult(r);
+ return new InterpreterResult(r, out.toString());
} else if (r == Code.INCOMPLETE) {
incomplete += s + "\n";
} else {
@@ -214,7 +219,7 @@ public class ScaldingInterpreter extends Interpreter {
if (r == Code.INCOMPLETE) {
return new InterpreterResult(r, "Incomplete expression");
} else {
- return new InterpreterResult(r);
+ return new InterpreterResult(r, out.toString());
}
}