为什么 Eclipse 将 df.as[CaseClass] 视为 Scala Spark 程序中的错误?
Why eclipse thinks df.as[CaseClass] as an error in Scala Spark program?
我正在尝试使用语法将数据框转换为数据集
case class Schema(...)
val ds = df.as[Schema]
所以我的代码看起来像
case class Rule(rule_on: String, rule_operator: String, rule_value: Int, rule_name: String)
val rules_ds = rules_df
.select("rule_on", "rule_operator", "rule_value", "rule_name")
.as[Rule]
但是 eclipse 将 .as[Rule]
突出显示为错误。截图同下。
如何解决这个问题?我知道这不是 Scala 问题,因为它在命令行上运行。
环境(如在 Eclipse 中):
- Scala - 2.11.11
- Spark - 2.4.0
- JRE - 1.8
根据 Raphael Roth 的建议(在评论中)我在 main 方法之外定义了 case class 并且它像 charm 一样工作。
还有其他解决方案(without using case class) 是将数据框类型转换为数据集,如下所示
import org.apache.spark.sql._
val ds: Dataset[Row] = df
以上解决方案摘自here
我正在尝试使用语法将数据框转换为数据集
case class Schema(...)
val ds = df.as[Schema]
所以我的代码看起来像
case class Rule(rule_on: String, rule_operator: String, rule_value: Int, rule_name: String)
val rules_ds = rules_df
.select("rule_on", "rule_operator", "rule_value", "rule_name")
.as[Rule]
但是 eclipse 将 .as[Rule]
突出显示为错误。截图同下。
如何解决这个问题?我知道这不是 Scala 问题,因为它在命令行上运行。
环境(如在 Eclipse 中):
- Scala - 2.11.11
- Spark - 2.4.0
- JRE - 1.8
根据 Raphael Roth 的建议(在评论中)我在 main 方法之外定义了 case class 并且它像 charm 一样工作。
还有其他解决方案(without using case class) 是将数据框类型转换为数据集,如下所示
import org.apache.spark.sql._
val ds: Dataset[Row] = df
以上解决方案摘自here