使用 IntelliJ IDEA 导入 Spark 最新源码及编译 Spark 源代码
前言
其实啊,无论你是初学者还是具备了有一定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 源代码的更多相关文章
- 使用 IntelliJ IDEA 导入 Spark 最新源码及编译 Spark 源代码(博主强烈推荐)
前言 其实啊,无论你是初学者还是具备了有一定spark编程经验,都需要对spark源码足够重视起来. 本人,肺腑之己见,想要成为大数据的大牛和顶尖专家,多结合源码和操练编程. 准备工作 1.sca ...
- spark最新源码下载并导入到开发环境下助推高质量代码(Scala IDEA for Eclipse和IntelliJ IDEA皆适用)(以spark2.2.0源码包为例)(图文详解)
不多说,直接上干货! 前言 其实啊,无论你是初学者还是具备了有一定spark编程经验,都需要对spark源码足够重视起来. 本人,肺腑之己见,想要成为大数据的大牛和顶尖专家,多结合源码和操练编程. ...
- 使用 IntelliJ IDEA 导入 Spark源码及编译 Spark 源代码
1. 准备工作 首先你的系统中需要安装了 JDK 1.6+,并且安装了 Scala.之后下载最新版的 IntelliJ IDEA 后,首先安装(第一次打开会推荐你安装)Scala 插件,相关方法就不多 ...
- windows下在idea用maven导入spark2.3.1源码并编译并运行示例
一.前提 1.配置好maven:intellij idea maven配置及maven项目创建 2.下载好spark源码: 二.导入源码: 1.将下载的源码包spark-2.3.1.tgz解压(E:\ ...
- (升级版)Spark从入门到精通(Scala编程、案例实战、高级特性、Spark内核源码剖析、Hadoop高端)
本课程主要讲解目前大数据领域最热门.最火爆.最有前景的技术——Spark.在本课程中,会从浅入深,基于大量案例实战,深度剖析和讲解Spark,并且会包含完全从企业真实复杂业务需求中抽取出的案例实战.课 ...
- 第一篇:Spark SQL源码分析之核心流程
/** Spark SQL源码分析系列文章*/ 自从去年Spark Submit 2013 Michael Armbrust分享了他的Catalyst,到至今1年多了,Spark SQL的贡献者从几人 ...
- 即时通信系统中如何实现:全局系统通知,并与Web后台集成?【低调赠送:QQ高仿版GGTalk 5.1 最新源码】
像QQ这样的即时通信软件,时不时就会从桌面的右下角弹出一个小窗口,或是显示一个广告.或是一个新闻.或是一个公告等.在这里,我们将其统称为“全局系统通知”.很多使用GGTalk的朋友都建议我加上一个类似 ...
- Spark Streaming源码解读之JobScheduler内幕实现和深度思考
本期内容 : JobScheduler内幕实现 JobScheduler深度思考 JobScheduler 是整个Spark Streaming调度的核心,需要设置多线程,一条用于接收数据不断的循环, ...
- LAMP最新源码一键安装脚本
Linux+Apache+MySQL+PHP (脚本可以选择是否安装+Pureftpd+User manager for PureFTPd+phpMyAdmin+memcache),添加虚拟主机请执行 ...
随机推荐
- 【git】切换分支获取代码
Welcome to Git (version 1.9.5-preview20150319) Run 'git help git' to display the help index.Run 'git ...
- JAVA TCP/IP Socket通信机制以及应用
关于局域网通信(同一wifi下,自己电脑当服务端,同一网络段) 1.例如192.168.1.x,只有x位不相同视为同一网络段 2.当具备了以上条件,即可编写服务端代码,服务端的机制. 3.Server ...
- 数据结构———重载与模板(C++)
相关信息 /* * * @subject 数据结构 * @author 信管1142班 201411671210 JJ lai * * @program 模板与重载 * */ 实验一: /* 要求如下 ...
- Viz World and Viz Curious Maps 教程 -- 基础篇
0. 开篇之前的一些废话 本文的内容是之前因为一些原因而写的,现在打算分享出来,内容就不做更改纯迁移了…毕竟我也太久没摸过加密狗了( ╯□╰ ).内容定位是教程,对应的 Curious World M ...
- Oracle11g用户密码过期
今天一早来了,发现部署的网站访问报500,看日志,显示数据库连不上.然后我用sqldeveloper登录同样登不上,于是想到了之前碰到过的一个问题,Oralce11g的新特性:密码180天自动过期.随 ...
- CF 279A. Point on Spiral
http://codeforces.com/problemset/problem/279/A 题意 :就是给你一个螺旋形的图,然后给你一个点,问从(0,0)点到这个点需要转几次弯,当然,是按着这个螺旋 ...
- ListView 长按拖动会变黑的解决方案
在ListView的xml文件中添加这个属性: android:cacheColorHint="#00000000"
- android TabActivity的局限性 是否还有存在的必要性
TabActivity的局限性 是否还有存在的必要性 其实谷歌有此举动,我们也应该早就想到了,为什么会这么说呢?那就要从TabActivity的原理开始说起了. 做个假定先: 比如我们最外面的Act ...
- JavaWeb学习总结(三十五)——使用JDBC处理Oracle大数据
一.Oracle中大数据处理 在Oracle中,LOB(Large Object,大型对象)类型的字段现在用得越来越多了.因为这种类型的字段,容量大(最多能容纳4GB的数据),且一个表中可以有多个这种 ...
- virsh console使用方法
How to use virsh console virsh 是libvirt 开源函数库中的一个命令行工具,用来在命令行下通过libvirt发布管理虚拟机的各种命令,现在介绍一下其中一个命令的使用方 ...