Open jasonjckn opened 7 years ago
What version of Spark are you using? Just a hunch, but with Spark 2.x your project needs [com.esotericsoftware/kryo-shaded "4.0.0"]
explicitly as a dependency in addition to powderkeg.
I'm using spark 2.1 from Google DataProc cloud services and kryo 4.0.0
:dependencies [[org.clojure/clojure "1.8.0"]
[cider/cider-nrepl "0.15.0-SNAPSHOT"]
[hcadatalab/powderkeg "0.5.1"]
[com.esotericsoftware/kryo-shaded "4.0.0"] ;; For Spark 2.x support
[org.apache.spark/spark-core_2.11 "2.1.0"]
[org.apache.spark/spark-streaming_2.11 "2.1.0"]
Setting default log level to "WARN".
To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel).
ivysettings.xml file not found in HIVE_HOME or HIVE_CONF_DIR,/etc/hive/conf.dist/ivysettings.xml will be used
Spark context Web UI available at http://10.142.0.7:4040
Spark context available as 'sc' (master = yarn, app id = application_1495147481256_0004).
Spark session available as 'spark'.
Welcome to
____ __
/ __/__ ___ _____/ /__
_\ \/ _ \/ _ `/ __/ '_/
/___/ .__/\_,_/_/ /_/\_\ version 2.1.0
/_/
Using Scala version 2.11.8 (OpenJDK 64-Bit Server VM, Java 1.8.0_121)
Type in expressions to have them evaluated.
Type :help for more information.
scala> spark.version
res0: String = 2.1.0
scala```
Cider seems to has a dependency on tools.jar (the missing class is part of it) and it's only available on JDK not JRE. So I guess some namespaces should be blacklisted to not be sent to workers.
According to the above i'm on jdk "Using Scala version 2.11.8 (OpenJDK 64-Bit Server VM, Java 1.8.0_121)"
maybe kyro serialization could ignore, or have registered com.sun.javadoc.ConstructorDoc, although I have limited knowledge here.
CIDER session
error =>