Windows + IDEA + SBT 打造Spark源码阅读环境
Spark源码阅读环境的准备
Spark源码是有Scala语言写成的,目前,IDEA对Scala的支持要比eclipse要好,大多数人会选在在IDEA上完成Spark平台应用的开发。因此,Spark源码阅读的IDE理所当然的选择了IDEA。
本文介绍的是Windows下的各项配置方法(默认已经装了java,JDK)。
下面列举搭建此环境需要的各个组件:
- IDEA,有两个版本:Ultimate Edition & Community Edition,后者是free的,而且完全能满足学习者所有的需求
- Scala,Spark是用Scala语言写成的,在本地编译执行需要这个包
- SBT,scala工程构建的工具
- Git,IDEA自动下载SBT插件时可能会用到的工具
- Spark Source Code,Spark源码
下载各个安装包。
IDEA,Scala,SBT,Git,Spark源码分别到官网下载官方版本即可。
Spark源码阅读环境的安装步骤
安装Scala。
完成后,在windows命令行中输入scala
,检查是否识别此命令。
如果不识别,查看环境变量Path中是否有....\scala\bin
(我的电脑右键,属性 -> 高级系统设置 -> 环境变量),没有的手动将Scala文件夹下的bin目录的路径
安装SBT
运行SBT的安装程序,运行完成后,重新打开windows命令行,输入sbt
,检查是否识别此命令。没有的话,手动配置环境变量,添加...\sbt\bin
运行完SBT的安装程序之后,并不意味着完成了sbt的安装,在windows命令放下输入sbt
后,SBT会自动的下载安装它所需要的程序包,请耐心等待全部下载成功。
安装Git
运行Git的安装程序,安装完成后,重新打开windows命令行,检查时候识别git
命令。
安装IDEA
安装IDEA的Scala插件
打开IDEA,在‘Welcome to IntelliJ IDEA’界面的‘Quick Start’栏,点击Configure
,选择Plugins
。
在弹出的窗口中可以看到已安装的插件,现在IDEA默认还没有Scala的插件。需要点击左下角的Install JetBrains plugin...
,在搜索框中输入‘scala’,点击安装。安装完成后可能会要求重启一下IDEA。
解压缩Spark Source Code包
导入Spark工程
在欢迎界面‘Quick Start’栏或者是在主界面的菜单栏File
下,选Import Project
,找到解压之后的spark工程文件夹,OK
。
选择import project from external model
中的SBT project
,(这个选项只有在安装了IDEA的Scala插件才会有)。
下一步,选择Project SDK为JDK,最好勾上Use auto-import
,然后点击Finish
。这时,IDEA会自动下载安装SBT所需的各个包,没有装Git的话可能会报错。
因为Spark是一个比较大的工程,所需的包也很多,这个过程也会特别慢,请耐心等待。
导入完成
导入完成后,自动打开工程,要等一段时间,等待sbt对这个工程进行编译。
本文内容整理自http://guozhongxin.com/pages/2014/10/15/spark_source_code.html,http://www.jianshu.com/p/41f21b0d52f8,所有权利归原作者所有。
Windows + IDEA + SBT 打造Spark源码阅读环境相关推荐
- Spark源码阅读环境搭建
前言 对于Spark的应用,仅仅会使用期API来编程只能达到初级(助理)工程师或中级(熟练)工程师的水平,而学会调优则可以让你进阶为高级工程师.那么怎么才能成为顶尖的工程师呢?源码! 准备工作 (1) ...
- Apache Spark源码阅读环境搭建
文章目录 1 下载源码 2 导入项目 3 新建文件 4 Debug JavaWordCount 4.1 搜索JavaWordCount 4.2 修改参数 4.3 Debug 遇到的报错 1 未设置Ma ...
- Spark源码学习之IDEA源码阅读环境搭建
软件准备 (1)Java 1.8 (2)Scala 2.11.12(需要在IDEA中安装) (3)Maven 3.8.2(需要在IDEA中配置) (4)Git 2.33 以上软件需要安装好,并进行环境 ...
- Spark源码阅读——任务提交过程
2019独角兽企业重金招聘Python工程师标准>>> Spark 源码阅读--任务提交过程 当我们在使用spark编写mr作业是,最后都要涉及到调用reduce,foreach或者 ...
- 3000门徒内部训练绝密视频(泄密版)第2课:Scala面向对象彻底精通及Spark源码阅读
Scala面向对象彻底精通及Spark源码阅读 不用写public class中的public class Person {private var myName = "flink" ...
- 3000门徒内部训练绝密视频(泄密版)第3课:Scala中函数式编程彻底精通及Spark源码阅读
Scala中函数式编程彻底精通及Spark源码阅读 函数可以不依赖于类,函数可以作为函数的参数,函数可以作为函数的返回值 =>表明对左面的参数进行右面的加工 函数赋值给变量需要在函数名后面加空格 ...
- 3000门徒内部训练绝密视频(泄密版)第5课:彻底精通Scala隐式转换和并发编程及Spark源码阅读
彻底精通Scala隐式转换和并发编程及Spark源码阅读 Akka ,Scala内部并发 隐式转换.隐式类.隐式参数 可以手动指定某种类型的对象或类转换成其他类型的对象或类.转换的原因是假设写好接口 ...
- ardupilot java_基于Eclipse IDE的Ardupilot飞控源码阅读环境搭建
基于Eclipse IDE的Ardupilot飞控源码阅读环境搭建 作者:Awesome 日期:2017-10-21 需准备的软件工具 Ardupilot飞控源码 PX4 toolchain JAVA ...
- jdk javac运行不了_Intellij IDEA搭建jdk源码阅读环境
一.找到源码位置 直接找到jdk安装的目录,会看到src.zip的压缩包,这里面就是jdk的源码,例如下图: 在这里解压. 第一次尝试建议使用9或更早版本jdk的源码,否则易造成卡死. 二.Intel ...
最新文章
- java数组详解_java数组详解
- [scala-spark]7. list 与 map
- 51nod 1115 最大M子段和 V3
- Chapter 3.GDI/DirectDraw Internal Data Structures
- plt.subplots中的ax = ax.flatten()
- adb bugreport保存位置_图文教程:PC利用adb工具通过CMD命令控制手机动作(备忘笔记)...
- 向量-创建数组-linspace/logspace函数
- 二维几何变换---其他二维变换
- c代码格式化_Python 只用一行代码,可以实现哪些事儿?
- DOM-基本概念及使用
- POJ 3257 Cow Roller Coaster 二维背包
- 万能五笔输入法弹窗_万能五笔输入法广告如何彻底关闭
- 浅谈严格控制普通高等学校招生规模
- POI框架EXCEL解析性能优化
- 小薛读论文04:预测、解决方案与滚动时域 (UTD24期刊MSOM重要综述)
- IDEA使用docker打包镜像
- 关于查看虚拟机防火墙 状态和关闭防火墙(CentOS7)
- 北京大学计算机硕博连读5年,关于2018年北京大学硕博连读研究生选拔工作的通知-更新...
- 赠书 | 区块链+互联网:互信社会崛起
- 【rem】什么是rem,如何使用rem
热门文章
- 总算知道怎样从ImageMagick生成的数据转换成HICON: MagickGetImageBlob LookupIconIdFromDirectoryEx...
- Runtime.getRuntime().exec()调用外部程序
- Netty中的Future
- 高性能nginx HTTP服务器 配置实例(转自我的收藏)
- Entity Framework 4中的Code-First, Model-First和Database-First模式(转)
- Silverlight Code Samples
- leetcode 92 python
- 折线图设置圆点_Seaborn可视化 折线图seaborn.lineplot
- 我的世界java骷髅马_我的世界1.9版本新功能曝光 骷髅马正式加入
- 今天聊聊Oracle Database 21c 十“小”新特性