《深入理解Spark:核心思想与源码分析》——1.3节阅读环境准备
本节书摘来自华章社区《深入理解Spark:核心思想与源码分析》一书中的第1章,第1.3节阅读环境准备,作者耿嘉安,更多章节内容可以访问云栖社区“华章社区”公众号查看
1.3 阅读环境准备
准备Spark阅读环境,同样需要一台好机器。笔者调试源码的机器的内存是8 GB。源码阅读的前提是在IDE环境中打包、编译通过。常用的IDE有IntelliJ IDEA、Eclipse。笔者选择用Eclipse编译Spark,原因有二:一是由于使用多年对它比较熟悉,二是社区中使用Eclipse编译Spark的资料太少,在这里可以做个补充。在Windows系统编译Spark源码,除了安装JDK外,还需要安装以下工具。
(1)安装Scala
由于Spark 1.20版本的sbt里指定的Scala版本是2.10.4,具体见Spark源码目录下的文件projectplugins.sbt,其中有一行:scalaVersion := "2.10.4"。所以选择下载scala-2.10.4.msi,下载地址:http://www.scala-lang.org/download/。
下载完毕,安装scala-2.10.4.msi。
(2)安装SBT
由于Scala使用SBT作为构建工具,所以需要下载SBT。下载地址:http://www.scala-sbt.org/,下载最新的安装包sbt-0.13.8.msi并安装。
(3)安装Git Bash
由于Spark源码使用Git作为版本控制工具,所以需要下载Git的客户端工具,推荐使用Git Bash,因为它更符合Linux下的操作习惯。下载地址:http://msysgit.github.io/,下载最新的版本并安装。
(4)安装Eclipse Scala IDE插件
Eclipse通过强大的插件方式支持各种IDE工具的集成,要在Eclipse中编译、调试、运行Scala程序,就需要安装Eclipse Scala IDE插件。下载地址:http://scala-ide.org/download/current.html。
由于笔者本地的Eclipse版本是Eclipse 4.4 (Luna),所以选择安装插件http://download.scala-ide.org/sdk/lithium/e44/scala211/stable/site,如图1-14所示。
在Eclipse中选择Help菜单,然后选择Install New Software…选项,打开Install对话框,如图1-15所示。
《深入理解Spark:核心思想与源码分析》——1.3节阅读环境准备相关推荐
- 《深入理解Spark:核心思想与源码分析》——第1章环境准备
本节书摘来自华章社区<深入理解Spark:核心思想与源码分析>一书中的第1章环境准备,作者耿嘉安,更多章节内容可以访问云栖社区"华章社区"公众号查看 第1章 环 境 准 ...
- 《深入理解Spark:核心思想与源码分析》——1.2节Spark初体验
本节书摘来自华章社区<深入理解Spark:核心思想与源码分析>一书中的第1章,第1.2节Spark初体验,作者耿嘉安,更多章节内容可以访问云栖社区"华章社区"公众号查看 ...
- 《深入理解Spark:核心思想与源码分析》——3.10节创建和启动ExecutorAllocationManager...
本节书摘来自华章社区<深入理解Spark:核心思想与源码分析>一书中的第3章,第3.10节创建和启动ExecutorAllocationManager,作者耿嘉安,更多章节内容可以访问云栖 ...
- 深入理解Spark:核心思想与源码分析
大数据技术丛书 深入理解Spark:核心思想与源码分析 耿嘉安 著 图书在版编目(CIP)数据 深入理解Spark:核心思想与源码分析/耿嘉安著. -北京:机械工业出版社,2015.12 (大数据技术 ...
- 《深入理解Spark:核心思想与源码分析》——SparkContext的初始化(叔篇)——TaskScheduler的启动...
<深入理解Spark:核心思想与源码分析>一书前言的内容请看链接<深入理解SPARK:核心思想与源码分析>一书正式出版上市 <深入理解Spark:核心思想与源码分析> ...
- 《深入理解SPARK:核心思想与源码分析》(第1章)
自己牺牲了7个月的周末和下班空闲时间,通过研究Spark源码和原理,总结整理的<深入理解Spark:核心思想与源码分析>一书现在已经正式出版上市,目前亚马逊.京东.当当.天猫等网站均有销售 ...
- 深入理解Spark:核心思想与源码分析. 3.9 启动测量系统MetricsSystem
3.9 启动测量系统MetricsSystem MetricsSystem使用codahale提供的第三方测量仓库Metrics,有关Metrics的具体信息可以参考附录D.MetricsSystem ...
- spring源码分析第五天------springAOP核心原理及源码分析
spring源码分析第五天------springAOP核心原理及源码分析 1. 面向切面编程.可以通过预 编译方式和运行期动态代理实现在不修改源代码的情况下给程序动态统一添加功能的一种技术 切面(A ...
- spring源码分析第四天------springmvc核心原理及源码分析
spring源码分析第四天------springmvc核心原理及源码分析 1.基础知识普及 2. SpringMVC请求流程 3.SpringMVC代码流程 4.springMVC源码分析 4.1 ...
最新文章
- 烂泥:kickstart无人值守安装CentOS6.5
- 单张图像就可以训练GAN!Adobe改良图像生成方法 | 已开源
- C++ 学习路线推荐
- [译] 最佳安全实践:在 Java 和 Android 中使用 AES 进行对称加密
- coremark 官网对各种单片机的测评评分
- 用MediaInfo获取音视频信息
- JDBC之二:DAO模式
- 理解向日葵甘特之六——定义数据列
- Shuffle CodeForces - 1366B(思维)
- 只需要2个工具,百度云盘大文件就能用迅雷和IDM下载
- 面试题25:合并两个排序的链表
- 《采访中收集程序猿》学习记录5
- php批量数据提交mysql_php在mysql里批量插入数据(代码实例)
- 桌面怎么新建html文件夹下,创建文件夹的步骤 怎么往新建的文件夹里写东西呀?...
- CEO自测问卷:你是公司的天花板吗?
- 磁珠的作用以及和电感的区别
- 代理ARP的作用和原理
- 成就系统实现(三)-架构设计
- PLSQL是什么、为什么要用PLSQL
- 从“熵理论到熵减”的过程
热门文章
- 返回表对象的方法之一--bulk collect into
- 微信小程序之 ----API接口
- sql索引的填充因子多少最好,填充因子的作用?
- DT大数据 scala for查询
- 论文解读——An Analysis of Scale Invariance in Object Detection – SNIP
- treemap底层结构_HashMap面试必问的数据结构相关知识总结
- mui获取css参数,Mui-获取时间-调用手机api
- mysql gtid坑_数据库mysqldump的坑
- 灰光和彩光_波分百科(一):认识光
- cml sml区别_如何简单清晰地描述 CAPM 在投资学中的运用,以及 CAL、CML 和 SML 的关系和区别?...