优化阅读格式
This commit is contained in:
@ -36,11 +36,11 @@
|
||||
大数据处理最重要的环节就是数据分析,数据分析通常分为两种:批处理和流处理。
|
||||
|
||||
+ **批处理**:对一段时间内海量的离线数据进行统一的处理,对应的处理框架有 Hadoop MapReduce、Spark、Flink 等;
|
||||
+ **流处理**:对运动中的数据进行处理,即在接收数据的同时就对其进行处理,对应的处理框架有 Storm、Spark Streaming、Flink Streaming等。
|
||||
+ **流处理**:对运动中的数据进行处理,即在接收数据的同时就对其进行处理,对应的处理框架有 Storm、Spark Streaming、Flink Streaming 等。
|
||||
|
||||
批处理和流处理各有其适用的场景,时间不敏感或者硬件资源有限,可以采用批处理;时间敏感和及时性要求高就可以采用流处理。随着服务器硬件的价格越来越低和大家对及时性的要求越来越高,流处理越来越普遍,如股票价格预测和电商运营数据分析等。
|
||||
|
||||
上面的框架都是需要通过编程来进行数据分析,那么如果你不是一个后台工程师,是不是就不能进行数据的分析了?当然不是,大数据是一个非常完善的生态圈,有需求就有解决方案。为了能够让熟悉 SQL 的人员也能够进行数据的分析,查询分析框架应运而生,常用的有 Hive 、Spark SQL 、Flink SQL、 Pig、Phoenix 等。这些框架都能够使用标准的 SQL 或者 类SQL 语法灵活地进行数据的查询分析。这些 SQL 经过解析优化后转换为对应的作业程序来运行,如 Hive 本质上就是将 SQL 转换为 MapReduce 作业,Spark SQL 将 SQL 转换为一系列的 RDDs 和转换关系(transformations),Phoenix 将 SQL 查询转换为一个或多个HBase Scan。
|
||||
上面的框架都是需要通过编程来进行数据分析,那么如果你不是一个后台工程师,是不是就不能进行数据的分析了?当然不是,大数据是一个非常完善的生态圈,有需求就有解决方案。为了能够让熟悉 SQL 的人员也能够进行数据的分析,查询分析框架应运而生,常用的有 Hive 、Spark SQL 、Flink SQL、 Pig、Phoenix 等。这些框架都能够使用标准的 SQL 或者 类 SQL 语法灵活地进行数据的查询分析。这些 SQL 经过解析优化后转换为对应的作业程序来运行,如 Hive 本质上就是将 SQL 转换为 MapReduce 作业,Spark SQL 将 SQL 转换为一系列的 RDDs 和转换关系(transformations),Phoenix 将 SQL 查询转换为一个或多个 HBase Scan。
|
||||
|
||||
### 1.4 数据应用
|
||||
|
||||
@ -66,25 +66,25 @@
|
||||
|
||||
大数据框架大多采用 Java 语言进行开发,并且几乎全部的框架都会提供 Java API 。Java 是目前比较主流的后台开发语言,所以网上免费的学习资源也比较多。如果你习惯通过书本进行学习,这里推荐以下入门书籍:
|
||||
|
||||
+ [《Java编程的逻辑》](https://book.douban.com/subject/30133440/):这里一本国人编写的系统入门 Java 的书籍,深入浅出,内容全面;
|
||||
+ 《Java核心技术》:目前最新的是第10版,有[卷一](https://book.douban.com/subject/26880667/)和[卷二](https://book.douban.com/subject/27165931/)两册,卷二可以选择性阅读,因为其中很多章节的内容在实际开发中很少用到。
|
||||
+ [《Java 编程的逻辑》](https://book.douban.com/subject/30133440/):这里一本国人编写的系统入门 Java 的书籍,深入浅出,内容全面;
|
||||
+ 《Java 核心技术》:目前最新的是第 10 版,有[卷一](https://book.douban.com/subject/26880667/) 和[卷二](https://book.douban.com/subject/27165931/) 两册,卷二可以选择性阅读,因为其中很多章节的内容在实际开发中很少用到。
|
||||
|
||||
目前大多数框架要求 Java 版本至少是 1.8,这是由于 Java 1.8 提供了函数式编程,使得可以用更精简的代码来实现之前同样的功能,比如你调用 Spark API,使用 1.8 可能比 1.7 少数倍的代码,所以这里额外推荐阅读 [《Java 8实战》](https://book.douban.com/subject/26772632/) 这本书籍。
|
||||
目前大多数框架要求 Java 版本至少是 1.8,这是由于 Java 1.8 提供了函数式编程,使得可以用更精简的代码来实现之前同样的功能,比如你调用 Spark API,使用 1.8 可能比 1.7 少数倍的代码,所以这里额外推荐阅读 [《Java 8 实战》](https://book.douban.com/subject/26772632/) 这本书籍。
|
||||
|
||||
#### 2. Scala
|
||||
|
||||
Scala 是一门综合了面向对象和函数式编程概念的静态类型的编程语言,它运行在 Java虚拟机上,可以与所有的Java类库无缝协作,著名的 Kafka 就是采用 Scala 语言进行开发的。
|
||||
Scala 是一门综合了面向对象和函数式编程概念的静态类型的编程语言,它运行在 Java 虚拟机上,可以与所有的 Java 类库无缝协作,著名的 Kafka 就是采用 Scala 语言进行开发的。
|
||||
|
||||
为什么需要学习 Scala 语言 ? 这是因为当前最火的计算框架 Flink 和 Spark 都提供了 Scala 语言的接口,使用它进行开发,比使用 Java 8 所需要的代码更少,且 Spark 就是使用 Scala 语言进行编写的,学习 Scala 可以帮助你更深入的理解 Spark。同样的,对于习惯书本学习的小伙伴,这里推荐两本入门书籍:
|
||||
|
||||
- [《快学Scala(第2版)》](https://book.douban.com/subject/27093751/)
|
||||
- [《Scala编程(第3版)》](https://book.douban.com/subject/27591387/)
|
||||
- [《快学 Scala(第 2 版)》](https://book.douban.com/subject/27093751/)
|
||||
- [《Scala 编程 (第 3 版)》](https://book.douban.com/subject/27591387/)
|
||||
|
||||
> 这里说明一下,如果你的时间有限,不一定要学完 Scala 才去学习大数据框架。Scala 确实足够的精简和灵活,但其在语言复杂度上略大于 Java,例如隐式转换和隐式参数等概念在初次涉及时会比较难以理解,所以你可以在了解 Spark 后再去学习 Scala,因为类似隐式转换等概念在 Spark 源码中有大量的运用。
|
||||
|
||||
### 2.2 Linux 基础
|
||||
|
||||
通常大数据框架都部署在 Linux 服务器上,所以需要具备一定的 Linux 知识。Linux 书籍当中比较著名的是 《鸟哥私房菜》系列,这个系列很全面也很经典。但如果你希望能够快速地入门,这里推荐[《Linux就该这么学》](https://www.linuxprobe.com/),其网站上有免费的电子书版本。
|
||||
通常大数据框架都部署在 Linux 服务器上,所以需要具备一定的 Linux 知识。Linux 书籍当中比较著名的是 《鸟哥私房菜》系列,这个系列很全面也很经典。但如果你希望能够快速地入门,这里推荐[《Linux 就该这么学》](https://www.linuxprobe.com/),其网站上有免费的电子书版本。
|
||||
|
||||
### 2.3 构建工具
|
||||
|
||||
@ -136,20 +136,20 @@ Scala 是一门综合了面向对象和函数式编程概念的静态类型的
|
||||
|
||||
大数据最权威和最全面的学习资料就是官方文档。热门的大数据框架社区都比较活跃、版本更新迭代也比较快,所以其出版物都明显滞后于其实际版本,基于这个原因采用书本学习不是一个最好的方案。比较庆幸的是,大数据框架的官方文档都写的比较好,内容完善,重点突出,同时都采用了大量配图进行辅助讲解。当然也有一些优秀的书籍历经时间的检验,至今依然很经典,这里列出部分个人阅读过的经典书籍:
|
||||
|
||||
- [《hadoop 权威指南(第四版)》](https://book.douban.com/subject/27115351/) 2017年
|
||||
- [《Kafka权威指南》](https://book.douban.com/subject/27665114/) 2017年
|
||||
- [《从Paxos到Zookeeper 分布式一致性原理与实践》](https://book.douban.com/subject/26292004/) 2015年
|
||||
- [《Spark技术内幕 深入解析Spark内核架构设计与实现原理》](https://book.douban.com/subject/26649141/) 2015年
|
||||
- [《Spark.The.Definitive.Guide》](https://book.douban.com/subject/27035127/) 2018年
|
||||
- [《HBase权威指南》](https://book.douban.com/subject/10748460/) 2012年
|
||||
- [《Hive编程指南》](https://book.douban.com/subject/25791255/) 2013年
|
||||
- [《hadoop 权威指南 (第四版)》](https://book.douban.com/subject/27115351/) 2017 年
|
||||
- [《Kafka 权威指南》](https://book.douban.com/subject/27665114/) 2017 年
|
||||
- [《从 Paxos 到 Zookeeper 分布式一致性原理与实践》](https://book.douban.com/subject/26292004/) 2015 年
|
||||
- [《Spark 技术内幕 深入解析 Spark 内核架构设计与实现原理》](https://book.douban.com/subject/26649141/) 2015 年
|
||||
- [《Spark.The.Definitive.Guide》](https://book.douban.com/subject/27035127/) 2018 年
|
||||
- [《HBase 权威指南》](https://book.douban.com/subject/10748460/) 2012 年
|
||||
- [《Hive 编程指南》](https://book.douban.com/subject/25791255/) 2013 年
|
||||
|
||||
#### 3. 视频学习资料
|
||||
|
||||
上面我推荐的都是书籍学习资料,很少推荐视频学习资料,这里说明一下原因:因为书籍历经时间的考验,能够再版的或者豆瓣等平台评价高的证明都是被大众所认可的,从概率的角度上来说,其必然更加优秀,不容易浪费大家的学习时间和精力,所以我个人更倾向于官方文档或者书本的学习方式,而不是视频。因为视频学习资料,缺少一个公共的评价平台和完善的评价机制,所以其质量良莠不齐。但是视频任然有其不可替代的好处,学习起来更直观、印象也更深刻,所以对于习惯视频学习的小伙伴,这里我各推荐一个免费的和付费的视频学习资源,大家按需选择:
|
||||
|
||||
+ 免费学习资源:尚硅谷大数据学习路线 —— [下载链接](http://www.atguigu.com/bigdata_video.shtml#bigdata) \ [在线观看链接](https://space.bilibili.com/302417610/)
|
||||
+ 付费学习资源:[慕课网 Michael PK的系列课程](https://www.imooc.com/t/2781843)
|
||||
+ 付费学习资源:[慕课网 Michael PK 的系列课程](https://www.imooc.com/t/2781843)
|
||||
|
||||
## 三、开发工具
|
||||
|
||||
@ -161,7 +161,7 @@ Scala 是一门综合了面向对象和函数式编程概念的静态类型的
|
||||
|
||||
**MobaXterm**:大数据的框架通常都部署在服务器上,这里推荐使用 MobaXterm 进行连接。同样是免费开源的,支持多种连接协议,支持拖拽上传文件,支持使用插件扩展;
|
||||
|
||||
**Translate Man**:一款浏览器上免费的翻译插件(谷歌和火狐均支持)。它采用谷歌的翻译接口,准确性非常高,支持划词翻译,可以辅助进行官方文档的阅读。
|
||||
**Translate Man**:一款浏览器上免费的翻译插件 (谷歌和火狐均支持)。它采用谷歌的翻译接口,准确性非常高,支持划词翻译,可以辅助进行官方文档的阅读。
|
||||
|
||||
## 四、结语
|
||||
|
||||
|
Reference in New Issue
Block a user