Spark Только сгенерированный код оценки поддерживается - PullRequest
0 голосов
/ 28 ноября 2018

Я использую spark 2.3.1, и я получаю странную ошибку, о которой я не могу найти информацию или не могу определить ее происхождение.

К сожалению, я не могу опубликовать весь код, так как он довольно много.Но я делаю длинную цепочку преобразований DataFrame и в конце преобразую в DataSet df.as[CaseClass] Затем я пытаюсь вызвать действие для DataSet и получаю следующее:

java.lang.UnsupportedOperationException: Only code-generated evaluation is supported

Если яПримените вручную схему к DataFrame (путем преобразования в rdd и использования sqlContext.createDataFrame) перед приведением к DataSet, все в порядке, но это довольно дорогой вычислительный шаг, поэтому я хотел бы пропустить его, и сначала я хотел бы найти кореньпричина проблемы.

Кто-нибудь сталкивался с этой проблемой?Вот (вероятно) релевантная часть трассировки стека:

Only code-generated evaluation is supported
java.lang.UnsupportedOperationException: Only code-generated evaluation is supported
    at org.apache.spark.sql.catalyst.expressions.objects.WrapOption.eval(objects.scala:419)
    at org.apache.spark.sql.catalyst.optimizer.ConstantFolding$$anonfun$apply$1$$anonfun$applyOrElse$1.applyOrElse(expressions.scala:53)
    at org.apache.spark.sql.catalyst.optimizer.ConstantFolding$$anonfun$apply$1$$anonfun$applyOrElse$1.applyOrElse(expressions.scala:46)
    at org.apache.spark.sql.catalyst.trees.TreeNode$$anonfun$2.apply(TreeNode.scala:267)
    at org.apache.spark.sql.catalyst.trees.TreeNode$$anonfun$2.apply(TreeNode.scala:267)
    at org.apache.spark.sql.catalyst.trees.CurrentOrigin$.withOrigin(TreeNode.scala:70)
    at org.apache.spark.sql.catalyst.trees.TreeNode.transformDown(TreeNode.scala:266)
    at org.apache.spark.sql.catalyst.trees.TreeNode$$anonfun$transformDown$1.apply(TreeNode.scala:272)
    at org.apache.spark.sql.catalyst.trees.TreeNode$$anonfun$transformDown$1.apply(TreeNode.scala:272)
    at org.apache.spark.sql.catalyst.trees.TreeNode$$anonfun$4$$anonfun$apply$11.apply(TreeNode.scala:335)
    at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:234)
    at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:234)
    at scala.collection.immutable.List.foreach(List.scala:392)
    at scala.collection.TraversableLike$class.map(TraversableLike.scala:234)
    at scala.collection.immutable.List.map(List.scala:296)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...