云计算-Spark部分复习(自用)
SPARK(有操作):1. spark作业
2. spark-RDD(必考编程:常用算子 map groupby key flatmap-单词统计、单词排序)
3. spark-sql(和hive相似,大概有捆绑,如何操作*考的不深,不肯定编程 必须相识操作 判断选择题)
4. spark-streaming(看包、做作业,标题有变换)
一、Spark的代码特点:简洁易懂
https://img-blog.csdnimg.cn/direct/484163c1b8ea4227ae58350d94698128.png
二、Spark与Hadoop的对比https://img-blog.csdnimg.cn/direct/cff8a105631341a28f553a503368f24d.png
三、Spark架构
Spark的基本组件有Excutor,SparkContext和Task
https://img-blog.csdnimg.cn/direct/28de642e45b6443cb52bf83283dcc719.png
四、Spark的运行基本流程
https://img-blog.csdnimg.cn/direct/ecff9581cd8c4f71a082145e202a9600.png
五、Yarn-cluster和yarn-client
Yarn-cluster适用于生产环境, Yarn-client适用于交互和调试
https://img-blog.csdnimg.cn/direct/2f7d344b37cb47f0af8cf49927276140.png
六、RDD简介
https://img-blog.csdnimg.cn/direct/b91a3cd726674c09afccd91c2c24e1b0.png
七、RDD的特点
https://img-blog.csdnimg.cn/direct/936544833d7a4c33baffa824f1e6f54e.png
八、Stage的概念
RDD有两种依靠,分别为宽依靠(wide dependency/shuffle dependency)和窄依靠(narrow dependency)
这里借用一下CSDN中杨林伟博主的介绍
1.窄依靠:父RDD的一个分区只会被子RDD的一个分区依靠
2.宽依靠:父RDD的一个分区会被子RDD的多个分区依靠(涉及到Shuffle)https://img-blog.csdnimg.cn/direct/8bb0a77eaceb4e6aa2f6aa061552cfe7.png
https://img-blog.csdnimg.cn/direct/a6a626e276a9420697df888e642ead0c.png
九、Spark的核心原理
1.用户代码(如rdd1.join...)转换为有向无环图(DAG)后,交给DAGScheduler
2.有DAGScheduler把RDD的有向无环图分割成各个Stage的有向无环图形成TaskSet,再提交给TaskScheduler
3.有TaskScheduler把任务(Task)提交给每个Worker上的Executor执行据以的Task
4.在TaskScheduler中,是不知道各个Stage的存在的,运行的只有Task
https://img-blog.csdnimg.cn/direct/622261588bdc4bee8a6fa99e1cf3902b.png
十、Stage的概念
https://img-blog.csdnimg.cn/direct/243129284aa44faf85b10307ccc881a6.png
十一、RDD的转换与操作(门生的平均成绩计算)
https://img-blog.csdnimg.cn/direct/376da9d14dac40b29a33ac96479b0b57.png
十一、Spark中文件的读取与存储https://img-blog.csdnimg.cn/direct/9ae85de798df45dfa95db8fcb582b48e.png
详细步骤如下https://img-blog.csdnimg.cn/direct/35e899a7ca6c4341af2317aa41acaef6.png
https://img-blog.csdnimg.cn/direct/5e4f37f2b7bc4170a7591101383c23f9.png
https://img-blog.csdnimg.cn/direct/ef915a3f43674027bfa625477738c98e.png
十二、编写SparkWordCount(单词计数步伐)
https://img-blog.csdnimg.cn/direct/41231e343bfa455fb8795a2e2c3c2142.png
十三、持久化
https://img-blog.csdnimg.cn/direct/bc65014dc3174d0595d1edac13356dbe.png
十四、Spark DataFrame基本操作
① DataFrame:DataFrame 是一种以 RDD 为基础的分布式数据集,类似于传统数据库的二维表格,带有 Schema 元信息(可以理解为数据库的列名和范例)。DataFrame = RDD + 泛型 + SQL 的操作 + 优化
② DataSet:DataSet是DataFrame的进一步发展,它比RDD生存了更多的形貌信息,概念上等同于关系型数据库中的二维表,它生存了范例信息,是强范例的,提供了编译时范例检查。调用 Dataset 的方法先会生成逻辑计划,然后被 spark 的优化器进行优化,终极生成物理计划,然后提交到集群中运行!DataFrame = Dateset
[*]DataFrame = RDD - 泛型 + Schema + SQL + 优化
[*]DataSet = DataFrame + 泛型
[*]DataSet = RDD + Schema + SQL + 优化
DataFrame是一种不可变的分布式数据集,被组织成指定的列,类似于关系数据库中的表
数据集的每一列都带闻名称和范例,对于数据的内部结构又很强的形貌性
RDD是分布式的Java对象的聚集,DataDrame是分布式的Row对象的聚集
https://img-blog.csdnimg.cn/direct/7cb3e8a65f7f446583d1432525647873.png
https://img-blog.csdnimg.cn/direct/de86b29c49ea481badc2eac6a302e55b.png
十五、读取mysql数据库test的student表
https://img-blog.csdnimg.cn/direct/cbcd2a930b564815ab95f037288edf92.png
十六、从Hive中的表创建DataFrame
https://img-blog.csdnimg.cn/direct/5165335a5a844c7ebe8ee2753b899287.png
十七、生存DataFrame
https://img-blog.csdnimg.cn/direct/5dd67277d7a940c89881a8514c5625e8.png
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]