背景:
本菜鸟在造了一个extends了RichSinkFunction<ItemCountSum2>的mysqlsink class,想把Table中数据转换成指定对象的流,再sink入mysql当中,又遇到一个当时难整的bug。
出现问题:
经排除,问题出现在这段代码块中
解决思路:
检查代码中是否有转换问题出错,然而并没有,继续尝试缩短错误范围,
发现并不是flatMap算子的问题,而是toRetractStream方法调用已经出现问题了。但是这个语句里面并没有显式的类型转换,那么我们就可以大概知道错误出在把table结果转换成流时,数据类型和给定的class里的数据类型出现了冲突。
解决方案:
1.可以尝试严格限制给定class的数据类型和table的类型保持一致。(=。=代码量大时有点麻烦,不建议)
2.先把表格数据转换成Row.c