Spark/SQL: .toDF() 编译时出错但 IntelliJ 无法识别

Spark/SQL: .toDF() error at compile time but not recognized by IntelliJ

只有当我 运行 我的项目时我才会收到错误,而不是在 IDE (IntelliJ) 中使用 Spark 1.3.0

我的对象只包含一个方法,它在 运行 使用 .toDF() 方法时给了我这个错误。 逻辑非常简单:我在 RDD 中加载一个文本文件,然后按照建议使用 case class,我想将其映射为 TempTable。

我已经多次使用 .toDF 和 case classes 来按照 Spark SQL guide 的建议使用 SparkSQL,而且我从未见过这个错误(甚至不是IDE):

识别为语法错误

这是我的代码(注意没有语法错误):

谁能帮我找到解决这种奇怪行为的方法? 以前从未发生过这样的事情。 我唯一想到的 "strange" 是我在方法内部而不是在主对象内部编写代码。

提前致谢!

FF

当我尝试你的代码时,我只遇到一个错误

No TypeTag available for Log.

这可以通过将 Log 移到方法之外来解决,最好也移到对象之外。

还有一点,不要调用对象 SparkContext,这只会导致混乱。