Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux / Scala的REPL Shell的调用

最近突然对spark的spark-shell发生了兴趣
它是如何启动scala的REPL的,并且在此前写入了常用的环境变量的呢?
通过查看spark的源码,找到了SparkILoop.scalaimport scala.tools.nsc.interpreter.{JPrintWriter, ILoop}/**
 *  A Spark-specific interactive shell.
 */
class SparkILoop(in0: Option[BufferedReader], out: JPrintWriter)
    extends ILoop(in0, out) {
  def this(in0: BufferedReader, out: JPrintWriter) = this(Some(in0), out)
  def this() = this(None, new JPrintWriter(Console.out, true))  def initializeSpark() {
    intp.beQuietDuring {
      processLine("""
       @transient val sc = {
         val _sc = org.apache.spark.repl.Main.createSparkContext()
         println("Spark context available as sc.")
         _sc
       }
        """)
      processLine("""
       @transient val sqlContext = {
         val _sqlContext = org.apache.spark.repl.Main.createSQLContext()
         println("SQL context available as sqlContext.")
         _sqlContext
       }
        """)
      processLine("import org.apache.spark.SparkContext._")
      processLine("import sqlContext.implicits._")
      processLine("import sqlContext.sql")
      processLine("import org.apache.spark.sql.functions._")
    }
  }
  ...
}可以看出SparkILoop继承自scala.tools.nsc.interpreter.ILoop
紧接着着看了ILoop的api doc
终于找到了启动ILoop的方法:import scala.tools.nsc.interpreter.ILoop
import scala.tools.nsc.Settingsval loop = new ILoop
loop.process(new Settings)使用IntelliJ IDEA编写Scala在Spark中运行 http://www.linuxidc.com/Linux/2015-08/122283.htmScala编程完整中文版 PDF http://www.linuxidc.com/Linux/2015-08/121033.htm快学Scala (中文完整扫描版) PDF  http://www.linuxidc.com/Linux/2015-08/120950.htmUbuntu 安装 2.10.x版本的Scala  http://www.linuxidc.com/Linux/2015-04/116455.htmSpark1.0.0部署指南 http://www.linuxidc.com/Linux/2014-07/104304.htmCentOS 6.2(64位)下安装Spark0.8.0详细记录 http://www.linuxidc.com/Linux/2014-06/102583.htmSpark简介及其在Ubuntu下的安装使用 http://www.linuxidc.com/Linux/2013-08/88606.htm安装Spark集群(在CentOS上) http://www.linuxidc.com/Linux/2013-08/88599.htmHadoop vs Spark性能对比 http://www.linuxidc.com/Linux/2013-08/88597.htmSpark安装与学习 http://www.linuxidc.com/Linux/2013-08/88596.htmSpark 并行计算模型 http://www.linuxidc.com/Linux/2012-12/76490.htmScala 的详细介绍:请点这里
Scala 的下载地址:请点这里本文永久更新链接地址:http://www.linuxidc.com/Linux/2015-10/1238233.htm