RangePartitioner原理
学习RDD每一个api的使用方式、实现原理以及使用时需要注意的点。学习了本课程就可以参与真实的spark项目的开发。学习了本课程也是为学习spark其他模块打下坚实的基础
更多的课程可以在51CTO学堂中搜索"老汤"
本视频是scala版本的RDD api及其原理
java版本的RDD api的使用请见: http://7639240.blog.51cto.com/7629240/d-1
python版本的RDD api使用请见:http://7639240.blog.51cto.com/7629240/d-2
建议在高清下观看,这样效果更佳
Spark2.x 应用实战系列课程计划
------------------------------------Spark 2.x 入门指南-----------------------------------
Spark2.x 实战应用系列环境篇:Spark相关集群环境的搭建 (公开课,https://edu.51cto.com/course/11430.html )
Spark2.x 实战应用系列环境篇:Spark开发环境的搭建 (公开课,https://edu.51cto.com/course/11421.html )
Spark2.x 实战应用系列一 :怎样学习Spark (公开课,https://edu.51cto.com/course/11210.html )
-------------------------------------Spark-core实战应用(专题: https://edu.51cto.com/topic/1275.html )------------------------------
Spark2.x 实战应用系列二 :正确理解Spark (https://edu.51cto.com/course/10932.html )
Spark2.x 实战应用系列三 :Spark-core RDD API (https://edu.51cto.com/course/11058.html )
Spark2.x 实战应用系列四 :Spark-core 正确提交Spark应用 (https://edu.51cto.com/course/11132.html )
Spark2.x 实战应用系列五 :Spark-core Schedulers On Driver (https://edu.51cto.com/course/11206.html )
--------------------------------------Spark-SQL实战应用(专题:https://edu.51cto.com/topic/1319.html )------------------------------
Spark2.x 实战应用系列六 :Spark-SQL的前生今世以及未来 (https://edu.51cto.com/course/11277.html )
Spark2.x 实战应用系列七 :有SQL基础就可玩转Spark SQL(Scala版&Java版) (https://edu.51cto.com/course/11496.html )
Spark2.x 实战应用系列七 :有SQL基础就可玩转Spark SQL(Scala版&Python版) (https://edu.51cto.com/course/11495.html )
Spark2.x 实战应用系列八 :Spark SQL with Hive (https://edu.51cto.com/course/11537.html )
---------------------------------------Spark-graphx(图计算)实战应用------------------------------------------------------------
Spark2.x 实战应用系列九 :Spark Graphx实战(即将发布)
---------------------------------------Spark-ml(机器学习)实战应用------------------------------------------------------------
Spark2.x 实战应用系列十 :Spark 机器学习实战(即将发布)
大数据实时流处理技术系列课程计划
---------------------------------------Spark Streaming专题(https://edu.51cto.com/topic/1402.html )--------------
Spark2.x 实时流计算系列一:Spark Streaming编程模型 (https://edu.51cto.com/course/12327.html )
Spark2.x 实时流计算系列二:Spark Streaming性能与稳定 (https://edu.51cto.com/course/12326.html )
Spark2.x 实时流计算系列三:Spark Streaming容错与语义 (https://edu.51cto.com/course/12325.html )
Spark2.x 实时流计算系列四:Flume + Kafka + Spark Streaming (https://edu.51cto.com/course/12324.html )
---------------------------------------Structured Streaming专题------------------------------------------------------------
Spark2.x 实时流计算系列五:Structured Streaming解决的问题 (https://edu.51cto.com/course/12330.html )
本课程内容如下:
第一章 课程内容以及课程需要的环境的描述
第二章 了解scala
了解scala的基本概念,包括:
1、scala之面向对象编程
2、scala之函数式编程
3、scala的两个特征:闭包和数据结构Option
第三章 RDD概念
根据RDD的特点,进而提出RDD的定义以及RDD的优势
如果想对RDD彻底的正确理解,请参考: https://edu.51cto.com/course/10932.html
第四章 RDD的创建
详细讲解创建RDD的api,并且详细分析了parallelize和makeRDD两个api的原理和差异
第五章 RDD的依赖
RDD的依赖的设计,并详细讲解了为什么RDD这么设计依赖
第六章 RDD的分区
1、用原理图的方式展示了RDD分区器HashPartitioner的工作原理
2、讲解利用分区器是怎么样进行性能优化的
3、结合原理图和源代码讲解RangePartitioner的工作原理以及使用场景
4、结合实例自定义RDD的分区器Partitioner
5、RDD分区数控制api - coalesce 和 repartition的使用场景以及两者的区别
6、结合原理图和源代码讲解coalesce的原理
第七章 单类型RDD的api详解
1、单类型RDD的transformation api的使用及其需要注意的点,包括map, mapPartition, flatMap等api
2、MapPartitionsRDD的原理代码详解
3、RDD的采样api(sample等)介绍
4、RDD分层采样api(sampleByKey等)的介绍
5、RDD的pipe api的使用方式以及使用过程中需要注意的点
6、RDD的pipe的原理深入讲解
7、单类型RDD的基本action api的讲解,包括foreach、first、collect等
8、单类型RDD基本action api讲解,包括reduce、fold以及aggregate等。同时分析了reduce和treeReduce以及aggregate和treeAggregate的原理和区别
第八章 key-value类型RDD的api详解
1、combineBykey的七大参数的详解
2、ShuffleRDD的原理详解
3、基于combineByKey的api详解,包括aggregateByKey、reduceByKey、foldByKey以及groupByKey等
4、combineBykey实战以及使用过程中需要注意的点
5、reduceByKey和groupByKey的对比,同时包含了reduce和fold的对比
6、cogroup api的感官认识,包括基于cogroup实现的join、leftOuterJoin、rightOuterJoin、fullOuterJoin以及subtractByKey等api
7、通过原理图和源代码详解cogroup原理
8、join等api的原理实现
9、subtractByKey的原理
10、sortedByKey原理,利用RangePartitioner实现优化
11、count、countByKey等计数api,包括近似估算等api
第九章 二元RDD操作
1、union的使用及其原理
2、intersection的使用及其原理
3、cartesian笛卡尔积的使用及其原理
4、zip的使用及其原理
第十章 persist 和 checkpoint机制
1、RDD的缓存机制,即persist
2、checkpoint的作用和实现流程
3、checkpoint实现原理
4、localCheckpoint和checkpoint的优缺点
第十一章 Spark读写外部数据源
1、spark支持的读写存储系统(使用JdbcRDD读取关系型数据库的完整示例见: http://7639240.blog.51cto.com/7629240/1967325 )
2、HadoopRDD的原理和实现
3、spark支持的通用的文件格式,重点会讲述了SequenceFile的数据结构以及需要注意的点,包括text file、CSV file、Sequence file 、 Object file以及MapFile等
4、spark支持的hbase file的读写代码
5、行式存储文件格式(avro)和列式存储文件格式(parquet)读写的详细讲解
6、spark对二进制数据的读写的api详解
第十二章 broadcast和accumulator两个api的详解
第十三章 RDD项目实战
以本人真实参加的项目来串联我们这个课程所将到的api
公开笔记对他人可见,有机会被管理员评为“优质笔记”
{{ noteEditor.content.length }}/2000
讲师收到你的提问会尽快为你解答。若选择公开提问,可以获得更多学员的帮助。
课程大纲
- 第一章 课程答疑 QQ 群:574185645
- 1-1试看 老汤大数据课程体系介绍06:21
- 第二章 课程环境与内容介绍
- 2-1试看 课程内容简介11:02
- 2-2试看 学习RDD Api的环境非常的简单16:46
- 第三章 了解scala
- 3-1试看 scala面向对象编程17:06
- 3-2scala函数式编程16:29
- 3-3闭包14:56
- 3-4数据结构Option介绍09:47
- 第四章 RDD概念
- 4-1RDD概念13:04
- 4-2补充课17:24
- 第五章 RDD的创建
- 5-1RDD的创建Api12:40
![[老汤]公开课-怎样学习大数据技术](https://s2.51cto.com/images/201804/13/cb2ecfa36c5e7fce97fb40f3dccaea89.png?x-oss-process=image)
![[老汤]Spark 2.x 实战应用三系列之Spark-core RDD Api](https://s2.51cto.com/images/201712/05/9fc4c7642383d883436c792e143e2629.png?x-oss-process=image)
![[老汤]Spark 2.x实战应用系列一之怎样学习Spark](https://s2.51cto.com/images/201712/05/131d359464cb24e2fdc6650e57421be3.png?x-oss-process=image)
![[老汤]Spark 2.x实战应用系列之Spark开发环境搭建(windows)](https://s2.51cto.com/images/201712/05/2c8d6cf6b1ed0482c1b0a40879c32c7a.png?x-oss-process=image)
![[老汤]Spark 2.x实战应用系列之Spark相关集群环境搭建](https://s2.51cto.com/images/201712/05/4d136836a384a95703f006c413b8d028.png?x-oss-process=image)
![大数据高级工程师:Spark 2.x 实战应用系列之正确理解Spark](https://s2.51cto.com/images/202003/12/923d02252ae35871033ab9f94a011cab.jpg?x-oss-process=image)
![[老汤]Spark 2.x之Scala内功修炼视频课程三-十二步体验Scala](https://s2.51cto.com/images/201712/05/eb4f5a5a1d2644713c9c92c0099e018f.png?x-oss-process=image)
![[老汤]Spark 2.x实战应用系列七之Spark SQL(scala&java)](https://s2.51cto.com/images/202101/27/5f051c7bdc6a2a0f7ac26fe8fe5edd84.png?x-oss-process=image)