首页 > 解决方案 > TheAfterWord 在 { 之后不带参数

问题描述

我正在尝试在 InteliJ中运行这个 Spark 示例。但是,编译器抱怨该after关键字:

TheAfterWord 在 { 之后不带参数

代码摘要:

class SortMergeJoinSpec extends FlatSpec with Matchers {
  val sparkSession = SparkSession.builder().appName("Sort-merge join test")
.master("local[*]")
.config("spark.sql.join.preferSortMergeJoin", "true")
.config("spark.sql.autoBroadcastJoinThreshold", "1")
.config("spark.sql.defaultSizeInBytes", "100000")
.getOrCreate()

  after {
    sparkSession.stop()
  }

  "sort-merge join" should "be used when neither broadcast nor hash join are possible" in {
    ... bla bla bla
  }

  "for not sortable keys the sort merge join" should "not be used" in {
    ... bla bla bla
  }

  private def toAssertRowInterval(row: Row): String = {
    ... bla bla bla
  }

  private def toAssertRow(row: Row): String = {
    ... bla bla bla
  }
}

完整代码:排序合并连接示例

也许问题与类定义有关。他们在示例中没有类定义,所以我不得不自己添加它。

标签: scalaapache-sparkintellij-idea

解决方案


正如 Sarvesh Kumar Singh 评论的那样,我不得不这样声明这个类:

class SortMergeJoinSpec extends FlatSpec with Matchers with BeforeAndAfter {

推荐阅读