SerializationStream¶
SerializationStream is an abstraction of serialized streams for writing out serialized key-value records.
Contract¶
Closing Stream¶
close(): Unit
Flushing Stream¶
flush(): Unit
Used when:
UnsafeShuffleWriteris requested to insert a record into a ShuffleExternalSorterDiskBlockObjectWriteris requested to commitAndGet
Writing Out Object¶
writeObject[T: ClassTag](
t: T): SerializationStream
Used when:
MemoryStoreis requested to putIteratorAsBytesJavaSerializerInstanceis requested to serializeRequestMessageis requested toserialize(for NettyRpcEnv)ParallelCollectionPartitionis requested towriteObject(for ParallelCollectionRDD)ReliableRDDCheckpointDatais requested to doCheckpointTorrentBroadcastis created (and requested to writeBlocks)RangePartitioneris requested to writeObjectSerializationStreamis requested to writeKey, writeValue or writeAllFileSystemPersistenceEngineis requested toserializeIntoFile(for Spark Standalone'sMaster)
Implementations¶
JavaSerializationStreamKryoSerializationStream
Writing Out All Records¶
writeAll[T: ClassTag](
iter: Iterator[T]): SerializationStream
writeAll writes out records of the given iterator (one by one as objects).
writeAll is used when:
ReliableCheckpointRDDis requested to doCheckpointSerializerManageris requested to dataSerializeStream and dataSerializeWithExplicitClassTag
Writing Out Key¶
writeKey[T: ClassTag](
key: T): SerializationStream
Writes out the key
writeKey is used when:
UnsafeShuffleWriteris requested to insert a record into a ShuffleExternalSorterDiskBlockObjectWriteris requested to write the key and value of a record
Writing Out Value¶
writeValue[T: ClassTag](
value: T): SerializationStream
Writes out the value
writeValue is used when:
UnsafeShuffleWriteris requested to insert a record into a ShuffleExternalSorterDiskBlockObjectWriteris requested to write the key and value of a record