Encoders Utility¶
Demo¶
import org.apache.spark.sql.Encoders
val encoder = Encoders.LOCALDATE
scala> :type encoder
org.apache.spark.sql.Encoder[java.time.LocalDate]
Creating Generic ExpressionEncoder using Java Serialization¶
javaSerialization[T: ClassTag]: Encoder[T]
javaSerialization[T](
clazz: Class[T]): Encoder[T]
javaSerialization
creates a generic ExpressionEncoder (with useKryo
flag off).
Creating Generic ExpressionEncoder using Kryo Serialization¶
kryo[T: ClassTag]: Encoder[T]
kryo[T](
clazz: Class[T]): Encoder[T]
kryo
creates a generic ExpressionEncoder (with useKryo
flag on).
Creating Generic ExpressionEncoder¶
genericSerializer[T: ClassTag](
useKryo: Boolean): Encoder[T]
genericSerializer
creates an ExpressionEncoder with the following:
Attribute | Catalyst Expression |
---|---|
objSerializer | EncodeUsingSerializer with BoundReference (ordinal = 0, dataType = ObjectType) |
objDeserializer | DecodeUsingSerializer with GetColumnByOrdinal leaf expression |
genericSerializer
is used when: