Class DisqKryoRegistrator

  • All Implemented Interfaces:
    org.apache.spark.serializer.KryoRegistrator

    public class DisqKryoRegistrator
    extends Object
    implements org.apache.spark.serializer.KryoRegistrator
    Kryo registrator for Disq.

    To use this class, specify the following Spark configuration parameters

     spark.serializer=org.apache.spark.serializer.KryoSerializer
     spark.kryo.registrator=org.disq_bio.disq.serializer.DisqKryoRegistrator
     spark.kryo.registrationRequired=true
     
    To include the classes registered here in your own registrator, either extend DisqKryoRegistrator
     class MyKryoRegistrator extends DisqKryoRegistrator {
       public void registerClasses(final Kryo kryo) {
         super.registerClasses(kryo);
         kryo.register(MyClass.class);
       }
     }
     
    or extend by delegation
     class MyKryoRegistrator implements KryoRegistrator {
       public void registerClasses(final Kryo kryo) {
         DisqKryoRegistrator.registerDisqClasses(kryo);
         kryo.register(MyClass.class);
       }
     }
     
    • Constructor Detail

      • DisqKryoRegistrator

        public DisqKryoRegistrator()
    • Method Detail

      • registerClasses

        public void registerClasses​(com.esotericsoftware.kryo.Kryo kryo)
        Specified by:
        registerClasses in interface org.apache.spark.serializer.KryoRegistrator
      • registerDisqClasses

        public static final void registerDisqClasses​(com.esotericsoftware.kryo.Kryo kryo)
        Register all classes serialized in Disq with the specified Kryo instance.
        Parameters:
        kryo - Kryo instance to register all classes serialized in Disq with, must not be null