在 Spark 0.9.1 和 Spark 1.0 之间,它们有一些 API 的改变以确保未来 API 的稳定性。这一章阐述需要迁移您已经在的代码到 1.0 版本的步骤。
Input DSteams(输入流): 所有创建 Input Steam(输入流)的操作(例如,StreamingContext.socketStream,FlumeUtils.createStream,等等。)现在返回 InputDStream / ReceiverInputDStream (而不是 DStream) 的 Scala 版本,和 JavaInputDStream / JavaPairInputDStream /JavaReceiverInputDStream / JavaPairReceiverInputDStream(而不是 JavaDStream) 的 Java 版。这将确保特定输入流的功能可以添加到这些类中在未来不需要破坏二进制兼容性。注意您已经存在的 Spark Streaming 应用程序应该不需要任何改变(因为那些类是 DStream / JavaDStream 的子类),但可能需要使用 Spark 1.0 重新编译。
Custom Network Receivers(自定义网络接收器): 从发布 Spark Streaming 以来,自定义网络接收器能够在 Scala 使用 NetworkReceiver 类自定义,该 API 在错误处理和报告中被限制了,并且不能够被 Java 使用。从 Spark 1.0 开始,自个类被 Receiver 替换了并且带来了下面的好处。
为了迁移你已存在的自定义 Receiver,从更早的 NetworkReceiver 到新的 Receiver。您需要去做如下事情。
Actor-base Receivers(基于 Actor 的接收器): 这个基于 Actor 的接收器 API 已经被移到 DStream Akka 中去了。更多详细信息请参考该工程。