前言

    其实啊,无论你是初学者还是具备了有一定spark编程经验,都需要对spark源码足够重视起来。

  本人,肺腑之己见,想要成为大数据的大牛和顶尖专家,多结合源码和操练编程。

 

准备工作

 1、scala 2.10.4(本地的安装)

Scala的安装(本地)

  2、Jdk1.7+  或 jdk1.8+ (本地的安装)

Jdk 1.7*安装并配置

Jdk 1.8*安装并配置

JDK的windows和Linux版本之下载

  3、IntelliJ IDEA

IntelliJ IDEA的下载、安装和WordCount的初步使用(本地模式和集群模式)

  

Spark源码的编译过程详细解读(各版本)

另外,最后还是建议大家开始先使用 pre-built 的 Spark,对 Spark 的运行、使用方法有所了解,编写了一些 Spark 应用程序后再展开源代码的阅读,并尝试修改源码,进行手动编译。

总体流程

  1、从 Github 导入 Spark 工程

打开IntelliJ IDEA 后,在菜单栏中选择 VCS→Check out from Version Control→Git,之后在 Git Repository URL 中填入 Spark 项目的地址,并指定好本地路径,如下图所示。

https://github.com/apache/spark.git

或者,我们可以直接先下载好,

比如我这里,已经下载好了

解压,

提前,先准备好

对于spark源码的目录结构

1、编译相关    : sbt 、assembly、project

2、spark核心  :core

3、Spark Lib  : streaming 、 sql 、graphx 、mllib

4、运行脚本和配置 : bin  、sbin 、conf

5、虚拟化 : ec2 、docker 、dev

6、式例  : examples 、data

7、部署相关: yarn

8、python支持 : python

9、repl : repl

10、 3pp : externals

现在,我开始,进入spark源码导入工作。

先来关闭,已有的工程。

File   ->   Close Project

得到,如下

选择,Import Project

 这里,为了日后的spark源码阅读环境的方便和开发

安装之后的几个常用设置:

1、界面字体大小的设置

可见,界面字体的效果

2、代码字体的设置

3、因我们平常,用习惯了eclipse,快捷键,设置为我们平常,eclipse的风格。

完成

简单,带领,如何巧看spark源码?

这里,为了避免一个不利的阅读,

放到D盘的根目录下,

设置行号

其他的源码,首先,Ctrl + Shift + R,然后,自行去阅读。

建议,在理解概念,真的,可以拿源码来帮助理解!

总结

所以啊,源码 + 官网 ,是黄金组合。

  感谢下面博主:

http://www.open-open.com/lib/view/open1422067624734.html

https://my.oschina.net/eshijia/blog/371066

使用 IntelliJ IDEA 导入 Spark 最新源码及编译 Spark 源代码的更多相关文章

  1. 使用 IntelliJ IDEA 导入 Spark 最新源码及编译 Spark 源代码(博主强烈推荐)

    前言   其实啊,无论你是初学者还是具备了有一定spark编程经验,都需要对spark源码足够重视起来. 本人,肺腑之己见,想要成为大数据的大牛和顶尖专家,多结合源码和操练编程. 准备工作 1.sca ...

  2. spark最新源码下载并导入到开发环境下助推高质量代码(Scala IDEA for Eclipse和IntelliJ IDEA皆适用)(以spark2.2.0源码包为例)(图文详解)

    不多说,直接上干货! 前言   其实啊,无论你是初学者还是具备了有一定spark编程经验,都需要对spark源码足够重视起来. 本人,肺腑之己见,想要成为大数据的大牛和顶尖专家,多结合源码和操练编程. ...

  3. 使用 IntelliJ IDEA 导入 Spark源码及编译 Spark 源代码

    1. 准备工作 首先你的系统中需要安装了 JDK 1.6+,并且安装了 Scala.之后下载最新版的 IntelliJ IDEA 后,首先安装(第一次打开会推荐你安装)Scala 插件,相关方法就不多 ...

  4. windows下在idea用maven导入spark2.3.1源码并编译并运行示例

    一.前提 1.配置好maven:intellij idea maven配置及maven项目创建 2.下载好spark源码: 二.导入源码: 1.将下载的源码包spark-2.3.1.tgz解压(E:\ ...

  5. (升级版)Spark从入门到精通(Scala编程、案例实战、高级特性、Spark内核源码剖析、Hadoop高端)

    本课程主要讲解目前大数据领域最热门.最火爆.最有前景的技术——Spark.在本课程中,会从浅入深,基于大量案例实战,深度剖析和讲解Spark,并且会包含完全从企业真实复杂业务需求中抽取出的案例实战.课 ...

  6. 第一篇:Spark SQL源码分析之核心流程

    /** Spark SQL源码分析系列文章*/ 自从去年Spark Submit 2013 Michael Armbrust分享了他的Catalyst,到至今1年多了,Spark SQL的贡献者从几人 ...

  7. 即时通信系统中如何实现:全局系统通知,并与Web后台集成?【低调赠送:QQ高仿版GGTalk 5.1 最新源码】

    像QQ这样的即时通信软件,时不时就会从桌面的右下角弹出一个小窗口,或是显示一个广告.或是一个新闻.或是一个公告等.在这里,我们将其统称为“全局系统通知”.很多使用GGTalk的朋友都建议我加上一个类似 ...

  8. Spark Streaming源码解读之JobScheduler内幕实现和深度思考

    本期内容 : JobScheduler内幕实现 JobScheduler深度思考 JobScheduler 是整个Spark Streaming调度的核心,需要设置多线程,一条用于接收数据不断的循环, ...

  9. LAMP最新源码一键安装脚本

    Linux+Apache+MySQL+PHP (脚本可以选择是否安装+Pureftpd+User manager for PureFTPd+phpMyAdmin+memcache),添加虚拟主机请执行 ...

随机推荐

  1. css之自动换行

    自动换行问题,正常字符的换行是比较合理的,而连续的数字和英文字符常常将容器撑大, 挺让人头疼,下面介绍的是CSS如何实现换行的方法 对于div,p等块级元素 正常文字的换行(亚洲文字和非亚洲文字)元素 ...

  2. [转载]C#中获取时间戳(UnixTime)的方法

    .Net中没有封装获取时间戳(UnixTime,相对于1970年1月1日凌晨的毫秒数)的方法.因此本人写了如下方法实现. 提醒在摸索中的朋友,注意方法中的四舍五入.关于讨论四舍五入的方法,可以在这里找 ...

  3. Design Tutorial: Learn from Life

    Codeforces Round #270 B:http://codeforces.com/contest/472/problem/B 题意:n个人在1楼,想要做电梯上楼,只有1个电梯,每次只能运k个 ...

  4. Eclipse 安装Activiti 插件失败解决方法

    遇到的错误为:1.4.0' but it could not be found等.

  5. UVA 10896 Sending Email

    这个题目真是伤透脑筋了,一直RE,连着改了好几个版本,又是spfa,又是单调队列dijkstra+单调队列,总是不过,后来发现M开小了,双向边应该开m的两倍,悲剧啊!!!以后不管怎样,数组一定要尽量开 ...

  6. windows phone 中的TextBlock的一些特性(TextWrapping,TextWrapping)

    文字很长时,换行:TextWrapping="Wrap" 文字很长时,省略:TextWrapping="WordEllipsis"

  7. android 设备唯一码的获取,Cpu号,Mac地址

    开发Android应用中,我们常常需要设备的唯一码来确定客户端. Android 中的几中方法,使用中常常不可靠 1. DEVICE_ID 假设我们确实需要用到真实设备的标识,可能就需要用到DEVIC ...

  8. 用Unity3.0+MVC4搭建项目

    新年快乐!又是新的一年到来了,我好久没有在园子里面做笔记啦,由于工作上的事,还好年前把该做的都完善了,于是就写了辞职信.由于家庭原因,不得不离职,在春节期间呢,我放松了几天,去这里去那里的,朋友们喜欢 ...

  9. SPRING IN ACTION 第4版笔记-第三章ADVANCING WIRING-007-给BEAN运行时注入值placeholder、@Value

    一.用placeholder给bean运行时注入值的步骤 Spring取得placeholder的值是用${...} 1.声明placeholder bean (1)java方式 In order t ...

  10. 【HDOJ】5564 Clarke and digits

    DP+快速矩阵幂.注意base矩阵的初始化,不难. /* 5564 */ #include <iostream> #include <string> #include < ...