Scala实战高手****第4课:零基础彻底实战Scala控制结构及Spark源码解析
1.环境搭建
基础环境配置 jdk+idea+maven+scala2.11。以上工具安装配置此处不再赘述。
2.源码导入
官网下载spark源码后解压到合适的项目目录下,打开idea,File->open 找到源码文件夹,选中spark-parent的pom文件,确定-> open as a project。接下来就是漫长的依赖解析过程。

3.依赖解析完成后,得到一个漂亮的spark项目

4. 尝试编译。最近需要用到spark-sql相关的东西,我们先尝试编译一下spark-sql,在idea右侧工具栏中找到maven project,找到对应的模块,点击展开lifecycle。

我们在想要的lifecycle上右击,选择create XXX,此处我选择的是compile,然后会进入到参数编辑的界面,可以对mvn的参数进行设置。这里我暂时使用默认设置。

完成后就会发现run configuration 下面多了一选项,我们可以双击执行或者右键进行编辑。

我们运行一下。最后得到如下输出,则编译成功
[info] Compile success at 2018-8-7 11:01:04 [4:35.895s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 04:56 min
[INFO] Finished at: 2018-08-07T11:01:04+08:00
[INFO] ------------------------------------------------------------------------
spark sql 有一个基础的sql语法规则定义文件,sqlBase.g4,如果要方便的查看sql语法解析树,需要一个插件ANTLR V4

我们找到sqlBase文件,在某个语法上右键,选择Test Rule XXX,即可查看某个语法的解析树

关于环境搭建的基本暂时就到这里吧。
---------------------
作者:彼岸枫雪非
来源:CSDN
原文:https://blog.csdn.net/u012543819/article/details/81455353
版权声明:本文为博主原创文章,转载请附上博文链接!
Scala实战高手****第4课:零基础彻底实战Scala控制结构及Spark源码解析的更多相关文章
- 机器学习实战(Machine Learning in Action)学习笔记————03.决策树原理、源码解析及测试
机器学习实战(Machine Learning in Action)学习笔记————03.决策树原理.源码解析及测试 关键字:决策树.python.源码解析.测试作者:米仓山下时间:2018-10-2 ...
- Scala实战高手****第7课:零基础实战Scala面向对象编程及Spark源码解析
/** * 如果有这些语法的支持,我们说这门语言是支持面向对象的语言 * 其实真正面向对象的精髓是不是封装.继承.多态呢? * --->肯定不是,封装.继承.多态,只不过是支撑面向对象的 * 一 ...
- spark源码解析之scala基本语法
1. scala初识 spark由scala编写,要解析scala,首先要对scala有基本的了解. 1.1 class vs object A class is a blueprint for ob ...
- 「从零单排canal 04」 启动模块deployer源码解析
基于1.1.5-alpha版本,具体源码笔记可以参考我的github:https://github.com/saigu/JavaKnowledgeGraph/tree/master/code_read ...
- Scala实战高手****第6课 :零基础实战Scala集合操作及Spark源码解析
本课内容1.Spark中Scala集合操作鉴赏2.Scala集合操作实战 --------------------------------------------------------------- ...
- Scala实战高手****第5课:零基础实战Scala函数式编程及Spark源码解析
Scala函数式编程 ----------------------------------------------------------------------------------------- ...
- Scala实战高手****第8课:零基础实战Scala最常用数据结构Map和Tuple及Spark源码鉴赏
本课内容1.Map和Tuple在Spark源码中的鉴赏2.Map和Tuple代码操作实战 ------------------------------------------------------- ...
- Scala实战高手****第12课:Scala函数式编程进阶(匿名函数、高阶函数、函数类型推断、Currying)与Spark源码鉴赏
/** * 函数式编程进阶: * 1.函数和变量一样作为Scala语言的一等公民,函数可以直接赋值给变量 * 2.函数更常用的方式是匿名函数,定义的时候只需要说明输入参数的类型和函数体即可,不需要名称 ...
- ajax从零基础到实战
一. 什么是AJAX? ajax是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术. 二. 在项目中怎么运用AJAX? 项目主要文件夹目录有img文件夹,css文件夹,js文件夹,如果你要运 ...
随机推荐
- 单个回调函数中返回多个Request以及Item
import scrapy from myproject.items import MyItem class MySpider(scrapy.Spider): name = 'example.com' ...
- React 入门小结
前段时间用 Ant Design 做了一个项目,由于之前没有 React 基础,对于 ES6 也是一知半解,所以也是一边开发一边学习,好不容易把项目完成了,现在终于有时间沉下心来从头开始好好学一下 R ...
- java属性为什么没多态,而是方法多态
定义 java多肽的特性:方法具有多态性,属性却没有. 准备 基类: 子类: 测试类: 结果: 分析如下 父类 a=new 子类,实际对象时子类.由于向上转型,我们可以用父类在编译期间代替子类,使得编 ...
- COGS2085 Asm.Def的一秒
时间限制:1 s 内存限制:256 MB [题目描述] “你们搞的这个导弹啊,excited!” Asm.Def通过数据链发送了算出的疑似目标位置,几分钟后,成群结队的巡航导弹从“无蛤”号头顶掠过 ...
- NYOJ 284 坦克大战 (广搜)
题目链接 描述 Many of us had played the game "Battle city" in our childhood, and some people (li ...
- LeetCode 151 reverse word in a string
Given an input string, reverse the string word by word. For example, Given s = "the sky is blue ...
- Swift学习三
http://blog.csdn.net/kuloveyouwei/article/details/36005299 Swift 提供两种集合类型来存储集合,数组和字典.数组是一个同类型的序列化列表集 ...
- GLE api
# -*- coding: utf-8 -*-# @Time : 2018/03/09 12:25# @Author : cxa# @File : gle.py# @Software: PyCharm ...
- Guava Cache相关
官方:http://ifeve.com/google-guava-cachesexplained/ 理解:https://segmentfault.com/a/1190000007300118 项目中 ...
- BigDecimal常用操作
import java.math.BigDecimal; public class BigDecimalUtil { /** * 由于Java的简单类型不能够精确的对浮点数进行运算,这个工具类提供精 ...