DataSource输出的初始化导致错误:UDF类不是合适的子类

时间:2018-01-12 08:32:34

标签: scala apache-flink

我有这个问题

  

DataSource输出的初始化导致错误:UDF类不是org.apache.flink.api.common.functions.MapFunction的正确子类

由此代码生成:

        val probes: DataSet[Probe] = env.createInput[InputProbe](new ProbesInputFormat).map { i =>
        new Probe(
            i.rssi,
            0,
            i.macHash,
            i.deviceId,
            0,
            i.timeStamp)
    }

我在使用IDEA的flink 1.4.0上使用scala 2.11。 在Dev机器上我没有问题,并且作业运行正常,而在3个节点的Flink独立群集上,我遇到了上述错误。

你能帮帮我吗(

更新

我解决了实现从RichMapFunction扩展的类,我不知道为什么但看起来lambda函数=>不正确支持。

现在我有了一个新问题:

  

java.lang.ClassCastException:hk.huko.aps2.entities.Registry无法强制转换为scala.Product

我应该开一个新的POST吗?

1 个答案:

答案 0 :(得分:0)

我解决了这个问题。之所以发生这种情况,是因为flink多次加载我的作业JAR(类加载器),并以某种方式产生了错误。

解决方案是不要破坏包含所有外部JAR依赖关系的JAR,而是复制到flink / lib文件夹中这些库以及您的作业JAR。