错误现象:
在对BatchStage数据做mapUsingService处理的时候:

运行报了如下错误

问题分析:
在对批处理流数据中做处理的时候,方法中引用的对象必须是序列化的,也就是需要implements Serializable但是代码中的实体已经实现了序列化接口,后来经过分析,方法中引用的数据也必须是要不可变的,而我们的getConnectionUrl()方法返回的数据,编译器认为他是可能会变的,哪怕这个方法只会返回的数据不会变:

哪怕这个方法返回的数据不会变也是不行的
解决方法:
在管道外面提取变量,变成不可变的属性:

文章讲述了在使用BatchStage进行数据mapUsingService处理时遇到的错误,原因是方法中引用的数据必须是序列化且不可变的。解决办法是在管道外将可能变化的getConnectionUrl转换为不可变属性。

2375

被折叠的 条评论
为什么被折叠?



