Spark Windows 调试环境搭建教程
本教程介绍的是Windows环境下的Spark调试环境的搭建步骤。
一、组件介绍
首先列举搭建此环境需要的各个组件:
∙ JDK,安装JDK 6或者JDK 7(必备条件)
∙ IDEA,有两个版本:Ultimate Edition & Community Edition,后者是free的,而且完全能满足学习者所有的需求
∙ Scala,Spark是用Scala语言写成的,在本地编译执行需要这个包
∙ SBT,scala工程构建的工具
∙ Git,IDEA自动下载SBT插件时可能会用到的工具
二、安装步骤
1、安装Scala。(建议2.10.2版本)
完成后,在windows命令行中输入scala,检查是否识别此命令。
如果不识别,查看环境变量Path中是否有....\scala\bin(我的电脑右键,属性 -> 高级系统设置 -> 环境变量),没有的手动将Scala文件夹下的bin目录的路径
如果不识别,查看环境变量Path中是否有....\scala\bin(我的电脑右键,属性 -> 高级系统设置 -> 环境变量),没有的手动将Scala文件夹下的bin目录的路径
Scala 2.10.2已亲测可行。
2、安装SBT
运行SBT的安装程序,运行完成后,重新打开windows命令行,输入sbt,检查是否识别此命令。没有的话,手动配置环境变量,添加...\sbt\bin
运行完SBT的安装程序之后,并不意味着完成了sbt的安装,在windows命令放下输入sbt后,SBT会自动的下载安装它所需要的程序包,请耐心等待全部下载成功。
3、安装Git
运行Git的安装程序,安装完成后,重新打开windows命令行,检查时候识别git命令。
4、安装IDEA、安装IDEA的Scala插件
打开IDEA,在‘Welcome to IntelliJ IDEA’界面的‘Quick Start’栏,点击Configure,选择Plugins。
在弹出的窗口中可以看到已安装的插件,现在IDEA默认还没有Scala的插件。需要点击左下角的Install ,在搜索框中输入‘scala’,点击安装。安装完成后可能会要求重启一下IDEA。
至此,相关组件已经安装完成。
三、搭建Spark开发调试环境
在intellij IDEA中创建scala project,并依次选择“File”–> “project structure” –> “Libraries”,选择“+”,将spark-hadoop 对应的包导入,比如导入spark-assembly-1.1.0-hadoop1.0.4(只需导入该jar包,其他不需要),如果IDE没有识别scala 库,则需要以同样方式将scala库导入。之后开发scala程序即可。Scala版本选择2.10。
四、测试Spark代码
创建scala 非sbt工程。
新建scala class,可以使用以下代码测试
import scala.math.random
import org.apache.spark._
/** Computes an approximation to pi */
object drt {
def main(args: Array[String]) {
val conf = new SparkConf().setAppName("Spark Pi")
.setMaster("local") //关键
val spark = new SparkContext(conf)
val slices = if (args.length > 0) args(0).toInt else 2
val n = 100000 * slices
val count = spark.parallelize(1 to n, slices).map { i =>
import org.apache.spark._
/** Computes an approximation to pi */
object drt {
def main(args: Array[String]) {
val conf = new SparkConf().setAppName("Spark Pi")
.setMaster("local") //关键
val spark = new SparkContext(conf)
val slices = if (args.length > 0) args(0).toInt else 2
val n = 100000 * slices
val count = spark.parallelize(1 to n, slices).map { i =>
val x = random * 2 - 1
val y = random * 2 - 1
if (x*x + y*y < 1) 1 else 0
}.reduce(_ + _)
println("Pi is roughly " + 4.0 * count / n)
spark.stop()
}
}
val y = random * 2 - 1
if (x*x + y*y < 1) 1 else 0
}.reduce(_ + _)
println("Pi is roughly " + 4.0 * count / n)
spark.stop()
}
}
代码中 .setMaster("local")语句非常关键,网上教程中有在run configuration里配置program argument的,我实测没有用。代码里加set local即可以解决问题,避免set master url问题,在本机调试代码。
要是你的工程执行完成后,console里能出现Pi is roughly。。。证明调试环境配置成功,Enjoy Spark with IDEA!
scala不是内部或外部命令
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论