Как исправить UnsupportedOperationException при использовании spark joinWith для создания Tuple2 - PullRequest
0 голосов
/ 05 февраля 2019

Я использую 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)

...