Hi,

>From the documentation it is not very clear how exactly the remote
interpreter works.

Here is what I tried. But it didn't work. I am using zeppelin 0.6.1 binary
and spark 2.0.

1. In a remote spark cluster
a)  I created a spark interpreter (copying from the default spark
interpreter) with master as Yarn-Client
b). I started the same in a notebook (ensuring that this interpreter is
enabled) using following code -
import org.apache.zeppelin.interpreter.remote.RemoteInterpreterServer

val interpreter = new RemoteInterpreterServer(51000)
interpreter.start()
c). When I go to the yarn application manager I can see this new
interpreter is running. Also the log file shows that the remote interpreter
has started in 51000 port

2. Next in a client machine (a mac laptop) I started Zeppelin.
a) I created a new Spark interpreter copying from existing one. There I
enabled the checkbox - Connect to Existing Process and provided host ip and
port.
b) I have kept the master as local
c) Now I selected this interpreter for Zeppelin Tutorial notebook and ran
the same.
d) The first paragraph with spark interpreter (Load Data in Table) worked
fine. Also I saw the log in the server shows that it is successfully
parsing the bank table.
e) But the next paragraph (%sql select age, count(1) value from bank where
age < 30 group by age order by age) gives error as follwos -

Caused by: java.lang.ClassCastException: cannot assign instance of
scala.collection.immutable.List$SerializationProxy to field
org.apache.spark.rdd.RDD.org$apache$spark$rdd$RDD$$dependencies_ of type
scala.collection.Seq in instance of org.apache.spark.rdd.MapPartitionsRDD

        at
java.io.ObjectStreamClass$FieldReflector.setObjFieldValues(ObjectStreamClass.java:2089)

        at
java.io.ObjectStreamClass.setObjFieldValues(ObjectStreamClass.java:1261)

        at
java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1999)

        at
java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1918)

        at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801)

        at
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351)

        at
java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1993)

        at
java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1918)

        at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801)

        at
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351)

        at java.io.ObjectInputStream.readObject(ObjectInputStream.java:371)

        at
scala.collection.immutable.List$SerializationProxy.readObject(List.scala:479)

        at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)

        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

        at java.lang.reflect.Method.invoke(Method.java:497)

        at
java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1017)

        at
java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1896)

        at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801)

        at
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351)

        at
java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1993)

        at
java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1918)

        at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801)

        at
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351)

        at
java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1993)

        at
java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1918)

        at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801)

        at
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351)

        at java.io.ObjectInputStream.readObject(ObjectInputStream.java:371)

        at
scala.collection.immutable.List$SerializationProxy.readObject(List.scala:479)

        at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)

        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

        at java.lang.reflect.Method.invoke(Method.java:497)

        at
java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1017)

        at
java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1896)

        at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801)

        at
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351)

        at
java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1993)

        at
java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1918)

        at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801)

        at
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351)

        at
java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1993)

        at
java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1918)

        at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801)

        at
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351)


Any idea where am I going wrong ?

Regards,
Sourav

Reply via email to