如何判断我是在Ammonite repl下运行还是在脚本中运行?

时间:2020-03-06 04:49:27

标签: scala apache-spark ammonite

我试图使用其他构建器来构建SparkSession,AmmoniteSparkSession需要替换。

这行不通,我认为是因为repl是编译时错误。

val sparkSessionBuilder =
  try {
    repl
    AmmoniteSparkSession.builder
  } catch {
    case e: Exception => SparkSession.builder
  }

1 个答案:

答案 0 :(得分:1)

在编译时,我们必须根据上下文使用Multi-stageScripts加载不同的脚本。它应该像here

val sparkSessionModule = sys.env.get("AMMONITE_REPL") match {
  case None => pwd / RelPath("libs/_SparkSession.sc")
  case Some(_) => pwd / RelPath("libs/_AmmoniteSparkSession.sc")
}
interp.load.module(sparkSessionModule)
@
相关问题