Ошибка sqlcontext: ожидался "союз", но найден окончательный идентификатор - PullRequest
0 голосов
/ 07 июня 2019

при написании
val tagScore = sqlContext.sql ("SELECT movieid, tagname, (eachTagCount / totalCount) AS tagScore ОТ окончательного результата ")) eachTagCount, totalCount - это два столбца в другой таблице

 `val finalresult = sqlContext.sql("SELECT MovieId,Tag AS eachTagCount, count AS totalCount FROM result ORDER BY MovieId")

    finalresult.rdd
      .map(_.toSeq.map(_+"").reduce(_+","+_))
      .saveAsTextFile("/usr/local/spark/dataset/algorithm3/output5")
     case class fine(  MovieId:Int,Tag:String,count:Int,totalcount:Int)
     val Data5 = sc.textFile("file:///usr/local/spark/dataset/algorithm3/output5").map(_.split(",")).map(p => fine(p(0).trim.toInt,p(1),p(2).trim.toInt,p(3).trim.toInt)).toDF()
    Data5.registerTempTable("finalresult")

val tagScore = sqlContext.sql("SELECT MovieId,Tag,(eachTagCount/totalCount) AS tagScoreFROM finalresult")

    tagScore.rdd
      .map(_.toSeq.map(_+"").reduce(_+","+_))
      .saveAsTextFile("/usr/local/spark/dataset/algorithm3/output6")`

после запуска этого исключения появляется

Исключение в потоке "main" java.lang.ExceptionInInitializerError в model3.main (model3.scala) Вызвано: java.lang.RuntimeException: [1.62] ошибка: ожидается `` union '', но найден идентификатор finalresult

SELECT MovieId, Tag, (eachTagCount / totalCount) AS tagScoreFROM окончательный результат ^ в scala.sys.package $ .error (package.scala: 27) в org.apache.spark.sql.catalyst.AbstractSparkSQLParser.parse (AbstractSparkSQLParser.scala: 36) в org.apache.spark.sql.catalyst.DefaultParserDialect.parse (ParserDialect.scala: 67) в org.apache.spark.sql.SQLContext $$ anonfun $ 2.apply (SQLContext.scala: 211)

how to solve it?

1 Ответ

0 голосов
/ 08 июня 2019

выглядит как фрейм данных, который определен как зарегистрированная временная таблица (оба имеют некоторое имя) finalresult решает проблему, принимая переменную вместо таблицы.

Не могли бы вы переименовать переменную или временную таблицу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...