Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spark catalyst optimizer强制转换异常_Java_Apache Spark_Apache Spark Sql - Fatal编程技术网

Java Spark catalyst optimizer强制转换异常

Java Spark catalyst optimizer强制转换异常,java,apache-spark,apache-spark-sql,Java,Apache Spark,Apache Spark Sql,我有2个(Foo和Bar)类,每个类实现一个接口 应用程序具有检查接口对象某些条件的方法 private boolean check(Interface1 obj) 我将此方法应用于两个类: Dataset<Foo> foos = getStapSession()....load().as(Encoders.bean(Foo.class)); Dataset<Bar> bars = getStapSession()....load().as(Encoders.bean(

我有2个(
Foo
Bar
)类,每个类实现一个接口

应用程序具有检查接口对象某些条件的方法

private boolean check(Interface1 obj)
我将此方法应用于两个类:

Dataset<Foo> foos = getStapSession()....load().as(Encoders.bean(Foo.class));
Dataset<Bar> bars = getStapSession()....load().as(Encoders.bean(Bar.class));

foos.filter((FilterFunction<Foo>) this::check).collectAsList();
bars.filter((FilterFunction<Bar>) this::check).collectAsList();
有不同的阶级,有不同的属性等等。 数据集的创建是不同的。(几个src文件)

编辑

.filter((FilterFunction<Foo>)obj -> check(obj))
.filter((FilterFunction)obj->check(obj))

.filter((FilterFunction)obj->check(obj))
工作正常。有一些问题与方法参考有关
this::check

这不是Spark的bug,而是,lambda的反序列化将导致ClassCastException。 您可以在中看到此问题的类似问题描述

.filter((FilterFunction<Foo>)obj -> check(obj))
.filter((FilterFunction<Bar>)obj -> check(obj))