为什么eclipse认为df.as [CaseClass]是Scala Spark程序中的错误?

时间:2019-02-26 11:28:39

标签: eclipse scala apache-spark scala-ide

我正在尝试使用语法将数据框转换为数据集

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]为错误。截屏如下。
Error Screen-Shot
如何解决这个问题?我知道这不是Scala问题,因为它可以在命令行中使用。

环境(如Eclipse中):

  • 斯卡拉-2.11.11
  • 火花-2.4.0
  • JRE-1.8

1 个答案:

答案 0 :(得分:0)

正如Raphael Roth的建议(在注释中),我在main方法外部定义了case类,它的工作方式类似于charm。

还有其他解决方案(,不使用case类)将数据框转换为数据集,如下所示

import org.apache.spark.sql._
val ds: Dataset[Row] = df

以上解决方案取自here