Java 如何修复使用spark joinWith创建Tuple2时的UnsupportedOperationException

Java 如何修复使用spark joinWith创建Tuple2时的UnsupportedOperationException,java,apache-spark,apache-spark-dataset,Java,Apache Spark,Apache Spark Dataset,我正在使用带有Spark的Java。我需要通过组合两个单独的数据集来创建一个Tuple2数据集。我使用joinWith是因为我希望单个对象保持完整(不能使用join)。然而,这是失败的: 线程“main”java.lang.UnsupportedOperationException中出现异常:无法计算表达式:NamePlaceholder 我尝试了使用和不使用别名,但仍然得到相同的错误。我做错了什么 Dataset<MyObject1> dsOfMyObject1; Datas

我正在使用带有Spark的Java。我需要通过组合两个单独的数据集来创建一个Tuple2数据集。我使用joinWith是因为我希望单个对象保持完整(不能使用join)。然而,这是失败的:

线程“main”java.lang.UnsupportedOperationException中出现异常:无法计算表达式:NamePlaceholder

我尝试了使用和不使用别名,但仍然得到相同的错误。我做错了什么

 Dataset<MyObject1>  dsOfMyObject1;
 Dataset<MyObject2>   dsOfMyObject2;      
 Dataset<Tuple2<MyObject1, MyObject2>> tuple2Dataset = 
   dsOfMyObject1.as("A").
   joinWith(dsOfMyObject2.as("B"),col("A.keyfield")
   .equalTo(col("B.keyfield")));
数据集DSOfMyObject 1;
数据集dsOfMyObject2;
数据集tuple2Dataset=
dsOfMyObject1.as(“A”)。
与(dsOfMyObject2.as(“B”)、col(“A.keyfield”)
.equalTo(col(“B.keyfield”);
线程“main”java.lang.UnsupportedOperationException中出现异常:无法计算 表达式:名称占位符 位于org.apache.spark.sql.catalyst.expressions.unevaluate$class.eval(Expression.scala:255) 位于org.apache.spark.sql.catalyst.expressions.namep占位符$.eval(complexTypeCreator.scala:243) 在org.apache.spark.sql.catalyst.expressions.createNamedStructureLike$$anonfun$names$1.apply(complexTypeCreator.scala:289) 在org.apache.spark.sql.catalyst.expressions.createNamedStructureLike$$anonfun$names$1.apply(complexTypeCreator.scala:289) 位于scala.collection.immutable.List.map(List.scala:274)