云计算复习之Spark(Scala版)期末复习整理

这篇具有很好参考价值的文章主要介绍了云计算复习之Spark(Scala版)期末复习整理。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

声明: 
              1. 本文针对的是一个知识的梳理,自行整理以及方便记忆
              2. 若有错误不当之处, 请指出

Scala是一种针对JVM 将面向函数和面向对象技术组合在一起的编程语言。Scala编程语言近来抓住了很多开发者的眼球。它看起来像是一种纯粹的面向对象编程语言,而又无缝地结合了命令式和函数式的编程风格。

云计算复习之Spark(Scala版)期末复习整理,云计算

Scala官网6个特征:

1).Java和scala可以混编

2).类型推测(自动推测类型)

3).并发和分布式

4).特质,特征(类似java中interfaces 和 abstract结合)

5).模式匹配(类似java switch)

6).高阶函数
scala有个原则就是极简原则,不用写的东西一概不写。

云计算复习之Spark(Scala版)期末复习整理,云计算云计算复习之Spark(Scala版)期末复习整理,云计算

 

Scala的基本操作具体参考:Scala快速入门(适用于学习Spark)_scala spark-CSDN博客

Spark的特点:快速,易用,通用,随处运行

云计算复习之Spark(Scala版)期末复习整理,云计算

MapReduce和Spark的对比:

spark是内存计算框架,mapreduce是磁盘计算框架

这张图显而易见,性能高

云计算复习之Spark(Scala版)期末复习整理,云计算

云计算复习之Spark(Scala版)期末复习整理,云计算

云计算复习之Spark(Scala版)期末复习整理,云计算

云计算复习之Spark(Scala版)期末复习整理,云计算

云计算复习之Spark(Scala版)期末复习整理,云计算

云计算复习之Spark(Scala版)期末复习整理,云计算云计算复习之Spark(Scala版)期末复习整理,云计算

Spark的生态系统良好,学习起来方便

云计算复习之Spark(Scala版)期末复习整理,云计算

基本概念与架构

driver作为管家结点,当执行一个Application时,Driver会向集群管理器申请资源,启动Executor,并向Executor发送应用程序代码和文件,然后在Executor上执行Task,运行结束后,执行结果会返回给Driver,或者写到HDFS或者其他数据库中

云计算复习之Spark(Scala版)期末复习整理,云计算

简述Spark集群的基本运行流程

1)spark集群启动后,Worker向Master注册信息,spark-submit命令提交程序后,driver和application也会向Master注册信息,创建SparkContext对象:主要的对象包含DAGScheduler和TaskScheduler
2)Driver把Application信息注册给Master后,Master会根据App信息去Worker节点启动Executor
3)Executor内部会创建运行task的线程池,然后把启动的Executor反向注册给Dirver
4)DAGScheduler:负责把Spark作业转换成Stage的DAG(Directed Acyclic Graph有向无环图),根据宽窄依赖切分Stage,然后把Stage封装成TaskSet的形式发送个TaskScheduler;同时DAGScheduler还会处理由于Shuffle数据丢失导致的失败;
5)TaskScheduler:维护所有TaskSet,分发Task给各个节点的Executor(根据数据本地化策略分发Task),监控task的运行状态,负责重试失败的task;
6)所有task运行完成后,SparkContext向Master注销,释放资源;

1.为应用构建起基本的运行环境,即由Driver创建一个SparkContext进行资源的申请、任务的分配和监控(SparkContext构建起应用和集群直接的联系,连接集群的通道)

2.资源管理器为Executor分配资源,并启动Executor进程


云计算复习之Spark(Scala版)期末复习整理,云计算
写入RDD的原因

云计算复习之Spark(Scala版)期末复习整理,云计算

RDD提供了一组丰富的操作以支持常见的数据运算,分为“动作”(Action)和“”(Transformation)两种类型,RDD提供的转换接口都非常简单,都是类似map、filter、groupBy、join等粗粒度的数据转换操作,而不是针对某个数据项的细粒度修改(不适合网页爬虫)

执行过程

惰性机制,转换记录轨迹,到了动作的时候才会真正的计算

云计算复习之Spark(Scala版)期末复习整理,云计算云计算复习之Spark(Scala版)期末复习整理,云计算

RDD的依赖关系和划分

宽依赖和窄依赖

云计算复习之Spark(Scala版)期末复习整理,云计算

窄依赖
表现为一个父RDD的分区对应于一个子RDD的分区或多个父RDD的分区对应
于一个子RDD的分区(一对一,多对一)

宽依赖
表现为存在一个父RDD的一个分区对应一个子RDD的多个分区(多对一)

云计算复习之Spark(Scala版)期末复习整理,云计算

云计算复习之Spark(Scala版)期末复习整理,云计算

遇到宽依赖断开,遇到窄依赖就把RDD加到阶段中,就可以生成多个阶段。每个阶段包含很多任务,这些阶段派发给各个结点执行

看个例子:

先划分出stage2,然后遇到F到G断开,A-B断开...最终形成

云计算复习之Spark(Scala版)期末复习整理,云计算

所以RDD的运行流程就是:

(1)创建RDD对象

(2)SparkContext负责计算RDD之间的依赖关系,构建DAG

(3)DAGScheduler负责把DAG图分解成多个Stage每个Stage中包含了多个Task每个Task会被TaskScheduler分发给各个WorkerNode上的Executor去执行

云计算复习之Spark(Scala版)期末复习整理,云计算

这张图能详细说明spark的核心原理

云计算复习之Spark(Scala版)期末复习整理,云计算

创建RDD的方式

1.文件系统创建

云计算复习之Spark(Scala版)期末复习整理,云计算

2.数组的方式创建

云计算复习之Spark(Scala版)期末复习整理,云计算

看个例子:

从文件系统创建RDD

云计算复习之Spark(Scala版)期末复习整理,云计算

云计算复习之Spark(Scala版)期末复习整理,云计算

通过数组读取

通过parallelize生成每个RDD

云计算复习之Spark(Scala版)期末复习整理,云计算

云计算复习之Spark(Scala版)期末复习整理,云计算

转换操作

行动操作

行动(Action)操作是真正触发计算的地方。Spark程序执行到行动操作时,才会执行真正的计算,从文件中加载数据,完成一次又一次转换操作,最终,计算得到结果

云计算复习之Spark(Scala版)期末复习整理,云计算

前两行不会真正执行,只会记录这个行动,第三行reduce操作才会行动,第二行为求每行的长度。

第三行执行的时候会先求每行长度,然后做一个汇总

云计算复习之Spark(Scala版)期末复习整理,云计算

再来个例子:

云计算复习之Spark(Scala版)期末复习整理,云计算

切割每行,统计每行单词数,返回最大的

云计算复习之Spark(Scala版)期末复习整理,云计算

键值对RDD

pairRDD

云计算复习之Spark(Scala版)期末复习整理,云计算

云计算复习之Spark(Scala版)期末复习整理,云计算

文件数据读写

1.本地文件读写

云计算复习之Spark(Scala版)期末复习整理,云计算

把文件写回去

云计算复习之Spark(Scala版)期末复习整理,云计算

JSON数据读写

云计算复习之Spark(Scala版)期末复习整理,云计算

云计算复习之Spark(Scala版)期末复习整理,云计算

SparkSql简介

shark直接从hive里面搬过来的,只有蓝色部分,转换成spark,提升性能

云计算复习之Spark(Scala版)期末复习整理,云计算

云计算复习之Spark(Scala版)期末复习整理,云计算

云计算复习之Spark(Scala版)期末复习整理,云计算文章来源地址https://www.toymoban.com/news/detail-773706.html

到了这里,关于云计算复习之Spark(Scala版)期末复习整理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 计算机网络重点概念整理-第七章 网络安全【期末复习|考研复习】

    计算机网络复习系列文章传送门: 第一章 计算机网络概述 第二章 物理层 第三章 数据链路层 第四章 网络层 第五章 传输层 第六章 应用层 第七章 网络安全 计算机网络整理-简称缩写 给大家整理了一下计算机网络中的重点概念,以供大家期末复习和考研复习的时候使用。 参

    2024年02月07日
    浏览(50)
  • 计算机网络重点概念整理-第三章 数据链路层【期末复习|考研复习】

    计算机网络复习系列文章传送门: 第一章 计算机网络概述 第二章 物理层 第三章 数据链路层 第四章 网络层 第五章 传输层 第六章 应用层 第七章 网络安全 计算机网络整理-简称缩写 给大家整理了一下计算机网络中的重点概念,以供大家期末复习和考研复习的时候使用。 参

    2024年02月08日
    浏览(45)
  • 计算机网络重点概念整理-第二章 物理层【期末复习|考研复习】

    计算机网络复习系列文章传送门: 第一章 计算机网络概述 第二章 物理层 第三章 数据链路层 第四章 网络层 第五章 传输层 第六章 应用层 第七章 网络安全 计算机网络整理-简称缩写 给大家整理了一下计算机网络中的重点概念,以供大家期末复习和考研复习的时候使用。 参

    2024年02月08日
    浏览(40)
  • 计算机操作系统重点概念整理-第二章 进程管理【期末复习|考研复习】

    计算机操作系统复习系列文章传送门: 第一章 计算机系统概述 第二章 进程管理 第三章 进程同步 第四章 内存管理 第五章 文件管理 第六章 输出输出I/O管理 给大家整理了一下计算机操作系统中的重点概念,以供大家期末复习和考研复习的时候使用。 参考资料是王道的计算

    2024年02月08日
    浏览(54)
  • 计算机操作系统重点概念整理-第三章 进程同步【期末复习|考研复习】

    计算机操作系统复习系列文章传送门: 第一章 计算机系统概述 第二章 进程管理 第三章 进程同步 第四章 内存管理 第五章 文件管理 第六章 输出输出I/O管理 给大家整理了一下计算机操作系统中的重点概念,以供大家期末复习和考研复习的时候使用。 参考资料是王道的计算

    2024年02月08日
    浏览(51)
  • 计算机网络期末复习简答题、综合题、实验题答案整理汇总详细(持续更新中)

    简答题只背标黄的部分!!综合题和实验题全看!!! 1. TCP/IP 与 OSI 相结合的五层体系结构将计算机网络划分成哪几个层次?各层的主要功能是什么 第一层,物理层:物理层的任务就是透明地传送比特流。(注意:传递信息的物理媒体,如双绞线、同轴电缆、光缆等,是在

    2024年02月08日
    浏览(36)
  • 耗时一个月!期末熬夜复习整理 | 计算机网络(谢希仁第七版)大合集【知识点+大量习题讲解】

    期末计网满绩计划 教材:计算机网络(第七版)谢希仁版 第一章概述 第二章物理层 第三章数据链路层 第四章网络层 第五章运输层 第六章应用层 第七章网络安全 小生凡一,期待你的关注。

    2024年02月11日
    浏览(46)
  • Spark编程基础期末复习

    1. spark 的四大组件下面哪个不是 (D) A.Spark Streaming B Mlib C Graphx D Spark R 2.下面哪个端口不是 spark 自带服务的端口 ( C) A.8080 B.4040 C.8090 D.18080 3.spark 1.4 版本的最大变化 ( B) A spark sql Release 版本 B 引入 Spark R C DataFrame D支持动态资源分配 4. Spark Job 默认的调度模式 ( A) A FIFO B FAIR C 无

    2024年02月04日
    浏览(32)
  • 统计学期末复习整理

    统计学:描述统计学和推断统计学。计量尺度:定类尺度、定序尺度、定距尺度、定比尺度。 描述统计中的测度: 1.数据分布的集中趋势 2.数据分布的离散程度 3.数据分布的形状。 离散系数 也称为标准差系数,通常是用一组数据的标准差与其平均数之比计算 C . V . = s x ‾

    2024年02月07日
    浏览(43)
  • Spark相关知识点(期末复习集锦)

    嗨喽,最近小伙伴们快要期末考试了吧,下面是我对《Spark零基础实战》的总结,希望能帮助到你们。 Spark,拥有hadoop MR所具有的优点,但不同于MR的是job中监测结果可以 保存在内存中 ,从而不再需要读写HDFS,因此spark能够更好的适用于数据挖掘与机器学习等需要迭代的m r的

    2024年02月02日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包