Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Malformed class name error using Zeppelin 0.8.0 and CAPS #711

Open
nasheqlbrm opened this issue Nov 9, 2018 · 13 comments
Open

Malformed class name error using Zeppelin 0.8.0 and CAPS #711

nasheqlbrm opened this issue Nov 9, 2018 · 13 comments
Assignees

Comments

@nasheqlbrm
Copy link

nasheqlbrm commented Nov 9, 2018

I am running into a Malformed class name error when trying to run a simple CAPS example locally (see screenshot below). I am on a mac and using the Zeppelin 0.8 binary downloaded from the Zeppelin website.

I would appreciate any help or pointers.

Thanks!

cap

@conker84
Copy link
Contributor

conker84 commented Nov 11, 2018

Hi @nasheqlbrm may I suggest to use this Docker environment? I prepared it for a session that I held during this Graph Connect

@nasheqlbrm
Copy link
Author

Thanks for the reply and the docker environment @conker84! I will give it a try.

The main reason I was trying to figure this out locally was so I could turn around and apply it in setting up a large-ish AWS EMR cluster. It's easier to prototype on AWS than on my laptop for larger graphs. Aside from trying to use the pre-compiled zeppelin binary I have also also tried to compile zeppelin 0.8 from source with spark 2.2 and scala 2.11.11 (based on the discussion in #196) but was unable to hit upon the right incantations to get zeppelin to use scala 2.11.11.

I am not very familiar with docker but it's possible the steps you followed to set that environment up could provide some clues for where I was going wrong? Let me know what you think.

@conker84
Copy link
Contributor

Are you using the internal spark package? In case so, Can I suggest to use an external package as I did here?

@nasheqlbrm
Copy link
Author

nasheqlbrm commented Nov 12, 2018

Thanks for the suggestion. I downloaded spark-2.3.1-bin-hadoop2.7 and pointed my SPARK_HOME to it. So while I am still using the Zeppelin 0.8 binary downloaded from the Zeppelin website the spark package being used will be the external package. However no luck :(

Now in addition to the Malformed class name, I get another error: object ZeppelinSuport is not a member of package org.opencypher.okapi.api.util (screenshot below):

cypher

@conker84
Copy link
Contributor

@nasheqlbrm can you try with the current CAPS snapshot? I tried with it and I don't have your problem

@nasheqlbrm
Copy link
Author

@conker84 Apologies if this is obvious but by current snapshot you mean that I should build CAPS locally according to current state of the Master branch and refer to the output jar ?

@conker84
Copy link
Contributor

Yes!

@DarthMax
Copy link
Contributor

Hej @nasheqlbrm,
we have released a new patch release 0.2.1 of CAPS which should almost reflect the current master state.
Could you try updating to that version? It also includes a couple of improvements for Zeppelin.
Best Max

@Mats-SX
Copy link
Member

Mats-SX commented Nov 15, 2018

Also please note that CAPS is only guaranteed to work with Spark 2.2.x at this point.

@nasheqlbrm
Copy link
Author

nasheqlbrm commented Nov 15, 2018

Thanks for the suggestions @DarthMax @Mats-SX

No luck, I get the same Malformed class name error. I downloaded a fresh version of zeppelin-0.8.0-bin-all locally (in case I had messed up my local zeppelin somehow). After that I pointed CAPS to 0.2.1 in my test notebook as below (is this correct or should I have been trying to use spark-cypher-0.2.1-cluster.jar?)
%spark.dep
z.load("org.opencypher:spark-cypher:0.2.1")

I tried this with a) the version of Spark that is bundled with Zeppelin namely version 2.2.0 and b) by pointing SPARK_HOME to spark-2.2.1-bin-hadoop2.7 with no change in the outcome.

Let me know if there is any information I could provide that would help us triangulate the issue.

@Mats-SX
Copy link
Member

Mats-SX commented Nov 16, 2018

Could you try z.load("org.opencypher:spark-cypher:jar:cluster:0.2.1")?

@nasheqlbrm
Copy link
Author

Sure, I tried using

%spark.dep
z.load("org.opencypher:spark-cypher:jar:cluster:0.2.1")

but ended up getting the same error as before.

@mpharding
Copy link

I also get the same issue, with or without 0.2.1 dep. Output is:

import org.opencypher.spark.api.CAPSSession
import org.opencypher.spark.api.io.{Node, Relationship, RelationshipType}
defined object SocialNetworkData
defined object CaseClassExample
session: org.opencypher.spark.api.CAPSSession = CAPSSession
java.lang.InternalError: Malformed class name
  at java.lang.Class.getSimpleName(Class.java:1330)
  at java.lang.Class.getCanonicalName(Class.java:1399)
  at org.opencypher.spark.impl.util.Annotation$.staticClass(Annotation.scala:68)
  at org.opencypher.spark.impl.util.Annotation$.get(Annotation.scala:51)
  at org.opencypher.spark.impl.util.Annotation$.labels(Annotation.scala:37)
  at org.opencypher.spark.api.io.CAPSNodeTable$.apply(CAPSTable.scala:63)
  at org.opencypher.spark.api.CAPSSession.readFrom(CAPSSession.scala:79)
  ... 52 elided

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants