我正在 Scala 中完成一些 Sapark 项目,我看到所有对象都在扩展Serializable.
就像是 :
object someName extends Serializable {
//some code
}
Run Code Online (Sandbox Code Playgroud)
我了解序列化通常用于存储或通信数据结构,以便数据可以轻松地以原始形式从序列化形式加载到内存中。然而,在这种情况下,object它更像是一个 Java 类。那么,扩展的意义或优势是Serializable什么?你什么时候做这个?有必要一直这样做吗?
我读到,“..排序运算符必须缓冲它接收到的所有元素。然后,当它接收到水印时,它可以对时间戳低于水印的所有元素进行排序,并按排序顺序发出它们。这是正确,因为水印表明不能有更多元素到达并与已排序元素混合......” - https://cwiki.apache.org/confluence/display/FLINK/Time+and+Order+in+Streams
因此,水印似乎充当后续操作员开始处理的信号。我想,这也是触发器的作用。两者有什么区别?