Я использую Java с Spark.Мне нужно создать набор данных 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")));
Исключение в потоке "main" java.lang.UnsupportedOperationException: Невозможно оценить выражение: NamePlaceholder в org.apache.spark.sql.catalyst.expressions.Unevaluable $class.eval (Expression.scala: 255) в org.apache.spark.sql.catalyst.expressions.NamePlaceholder $ .eval (complexTypeCreator.scala: 243) в org.apache.spark.sql.catalyst.expressions.CreateNamedStructLike $$anonfun $ names $ 1.apply (complexTypeCreator.scala: 289) в org.apache.spark.sql.catalyst.expressions.CreateNamedStructLike $$ anonfun $ names $ 1.apply (complexTypeCreator.scala: 289) в scala.collection.immutable..map (List.scala: 274)