On 17 Oct 2016, at 10:02, Prasun Ratn 
<prasun.r...@gmail.com<mailto:prasun.r...@gmail.com>> wrote:

Hi

I want to run some Spark applications with some changes in Kryo serializer.

Please correct me, but I think I need to recompile spark (instead of
just the Spark applications) in order to use the newly built Kryo
serializer?

I obtained Kryo 3.0.3 source and built it (mvn package install).

Next, I took the source code for Spark 2.0.1 and built it (build/mvn
-X -DskipTests -Dhadoop.version=2.6.0 clean package)

I then compiled the Spark applications.

However, I am not seeing my Kryo changes when I run the Spark applications.


Kryo versions are very brittle.

You'll

-need to get an up to date/consistent version of Chill, which is where the 
transitive dependency on Kryo originates
-rebuild spark depending on that chill release

if you want hive integration, probably also rebuild Hive to be consistent too; 
the main reason Spark has its own Hive version is that
Kryo version sharing.

https://github.com/JoshRosen/hive/commits/release-1.2.1-spark2

Kryo has repackaged their class locations between versions. This lets the 
versions co-exist, but probably also explains why your apps aren't picking up 
the diffs.

Finally, keep an eye on this github PR

https://github.com/twitter/chill/issues/252

Reply via email to