`
m635674608
  • 浏览: 5043969 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Spark Shell由于Scala编译器原因不能正常启动

 
阅读更多

 最近开始学习spark,在windows上按照官方说明运行命令spark-shell进入到scala版本的spark shell时,出现了下面的问题:

Failed to initialize compiler: object scala.runtime in compiler mirror not found.
** Note that as of 2.8 scala does not assume use of the java classpath.
** For the old behavior pass -usejavacp to scala, or if using a Setting
** object programatically, settings.usejavacp.value = true.
     出现这个问题的原因是2.8版本以上的scala将不再默认使用java的classpath.要解决这个问题,很显然,就是要在配置文件中添加使用java classpath的命令。
    上网google方法后,终于找到完整可行的解决方案:
    修改\bin\spark-class2.cmd文件下的内容(即添加下图中红色部分内容)
                

  保存后,在cmd上运行bin\spark-shell命令,便可切换到scala版本下的shell

            

于是修改一下\bin\spark-class2.cmd:

rem Set JAVA_OPTS to be able to load native libraries and to set heap size   
set JAVA_OPTS=%OUR_JAVA_OPTS% -Djava.library.path=%SPARK_LIBRARY_PATH%  -Xms%SPARK_MEM% -Xmx%SPARK_MEM%    -Dscala.usejavacp=true

    值得一提的是,spark1.1.0版本发行包内的bin下包含很多个calss配置文件,如spark-class、spark-class.cmd、spark-class2.cmd,这3个文件内容不同。我曾尝试在其他两个文件中采用解决方案,但都无效。而至于为什么解决方案需要应用在spark-class2.cmd以及这3个文件到底实现怎样的功能又或者有怎样的联系,有待进一步的研究。
     注:上文提到的解决方案,来自http://my.oschina.net/sulliy/blog/217212
分享到:
评论

相关推荐

    spark2.1-scala api

    编译完成后,你可以通过运行以下命令启动 Spark Scala shell 来测试编译结果: ``` ./bin/spark-shell --master local[4] ``` 这里 `local[4]` 表示在本地模式下启动 Spark,使用 4 个核心。 关键知识点: 1. **...

    windows版scala-2.10.7.zip

    这个版本包含Scala编译器、Scala库以及相关的工具,使得开发者可以在Windows环境下编写、编译和运行Scala代码。 要开始使用这个压缩包,首先需要解压缩文件。Windows系统内置了zip文件的处理功能,或者你可以使用第...

    spark-Scala-介绍-教程-入门-手册-调研1

    如果不指定变量的类型,Scala编译器会通过初始化表达式的类型来推断变量类型。不过,当需要明确类型时,可以这样做: ```scala var anotherVar: Int = 10 ``` 2. **Scala解释器与REPL** Scala提供了一个交互式...

    windows版scala-2.11.12.zip

    解压后,你会得到一个名为"scala-2.11.12"的文件夹,其中包含了Scala编译器(scalac)、解释器(scala)和其他相关工具。为了在命令行中使用Scala,你需要将 Scala 的 bin 目录添加到系统的PATH环境变量中。这样,...

    haddop\scala\spark\winutils-master安装包

    6. **运行Spark**:在命令行或IDE中,你可以启动Spark Shell或提交Spark应用程序。 了解和掌握这些组件,可以让你在大数据处理领域游刃有余,无论是进行数据存储、数据处理还是数据分析,都能够借助它们强大的功能...

    Linux_64bit_scala+spark.zip

    同时,Spark的安装文件通常会包含`bin`目录,其中包含可执行脚本,用于启动Spark的各个组件,如`spark-shell`(Scala交互式环境)、`pyspark`(Python接口)和`spark-submit`(提交Spark作业)。可能还会有一个`conf...

    scala-2.11.7 包

    这个压缩包包含了Scala编译器、运行时环境以及相关的库文件。解压过程通常使用`tar`命令,这是一个在Linux和Unix系统中广泛使用的工具。例如,你可以使用以下命令来解压: ```bash tar -zxvf scala-2.11.7.tgz ``` ...

    scala 2.11.7 安装包

    1. **类型推断**:Scala编译器能够自动推断变量和表达式的类型,减少了显式类型的繁琐工作。 2. **模式匹配**:这是一种强大的语法结构,允许你根据值的结构进行解构和分支,简化了数据处理和分析。 3. **高阶函数...

    scala-2.13.2.tgz

    在Spark开发中,Scala的强类型和面向对象特性让代码更易于维护,而函数式编程则鼓励使用不可变数据和高阶函数,这在处理大规模数据时尤其有利。Spark API大量使用了Scala的特性,如模式匹配和 Actors,使得开发...

    Windows环境下SparkML程序简单示例

    首先,你需要安装Java Development Kit (JDK) 和 Scala编译器,因为Spark是用Scala编写的,且依赖于Java。确保JDK版本至少为8,Scala版本与Spark版本兼容。例如,如果你使用的是Spark 2.x,推荐使用Scala 2.11版本。...

    Spark伪分布式.rar

    2. 启动一个Spark Shell:`bin/spark-shell`,然后在Shell中执行一些简单的操作,比如创建一个RDD并进行操作,以确保Spark伪分布式环境正常工作。 至此,Spark伪分布式环境已经搭建完成。你可以在这个环境中编写和...

    scala-2.12.14.zip

    通过`scala`命令,你可以在交互式shell中尝试Scala,而`scalac`则用于编译Scala源代码成可执行的Java字节码。 总的来说,Scala-2.12.14是一个强大的编程环境,适合那些寻求高效、灵活和现代化开发工具的程序员。...

    Spark实战高手之路.rar

    学习Spark实战,还需要掌握如何使用Spark Shell进行交互式编程,如何编写Scala、Java、Python或R语言的Spark应用程序,以及如何使用SparkSubmit提交作业。对于集群部署,了解standalone模式、YARN模式和Mesos模式的...

    spark-3.3.0-bin-hadoop3.3.2.tgz

    - 测试连接:通过`bin/spark-shell`进入Spark Shell,测试Spark是否正常工作。 6. **配置优化** - `conf/spark-defaults.conf`:设置默认配置,如executor内存、CPU核心数等。 - `conf/spark-env.sh`:根据集群...

    Spark SQL学习笔记

    - **启动**:使用 `bin/spark-sql --master local[2]` 启动 Spark SQL shell。 #### 五、查询执行计划 - **基本查询**:`EXPLAIN SELECT sal FROM emp ORDER BY sal;` - **物理计划**: ```plaintext ==...

    Spark入门基础--简介及环境搭建

    2. **安装Scala编译器**: 配置Scala编译器环境,以便理解源码。 3. **IDE集成**: 在IDE中导入Spark源码项目,如使用IntelliJ IDEA的Scala插件。 4. **构建和运行源码**: 使用sbt构建工具,构建并运行Spark源码。 ##...

    sparkSQL基本操作.zip

    通过以上知识点的学习,你将能够熟练地在Spark SQL中进行数据处理,无论是从简单的数据转换,还是到复杂的分析任务,Spark SQL都能为你提供强大的支持。记住,实践是最好的老师,所以尝试在实际项目中应用这些概念,...

    Pyspark综合案例(pyspark安装和java运行环境配置)

    4. **测试Pyspark**: 打开终端,输入`pyspark`启动Pyspark的交互式Shell。如果一切正常,你应该看到一个Python提示符,可以开始编写和运行Spark程序了。 **Pyspark基本使用** 在Pyspark中,你可以创建`...

Global site tag (gtag.js) - Google Analytics