当前位置: 首页 > news >正文

佛山新网站制作手机如何申请个人邮箱

佛山新网站制作,手机如何申请个人邮箱,企业网站建设中图片优化的方法,嗨学网官网实训笔记——Spark计算框架 Spark计算框架一、Spark的概述二、Spark的特点三、Spark的安装部署(安装部署Spark的Cluster Manager-资源调度管理器的)3.1 本地安装--无资源管理器3.2 Spark的自带独立调度器Standalone3.2.1 主从架构的软件3.2.2 Master/wor…

实训笔记——Spark计算框架

  • Spark计算框架
    • 一、Spark的概述
    • 二、Spark的特点
    • 三、Spark的安装部署(安装部署Spark的Cluster Manager-资源调度管理器的)
      • 3.1 本地安装--无资源管理器
      • 3.2 Spark的自带独立调度器Standalone
        • 3.2.1 主从架构的软件
        • 3.2.2 Master/worker
        • 3.2.3 伪分布、完全分布、HA高可用
      • 3.3 Hadoop的YARN
      • 3.4 Apache的Mesos
      • 3.5 K8S容器技术
    • 四、Spark程序的部署运行
    • 五、Spark集群运行中三个核心角色
      • 5.1 Driver驱动程序
      • 5.2 Cluster Manager(资源管理器)
      • 5.3 Executor(执行器)
    • 六、Spark的核心基础Spark Core
      • 6.1 Spark Core中最核心的有两个概念
        • 6.1.1 SparkContext
        • 6.1.2 RDD
      • 6.2 RDD的属性(RDD具备的一些特征)
        • 6.2.1 一组分区(一组切片)
        • 6.2.2 一个计算每一个分区(切片)数据的compute函数
        • 6.2.3 一个用来记录RDD依赖关系的列表
        • 6.2.4 一个分区机制(RDD必须得是键值对类型的RDD)
        • 6.2.5 一个用来记录分区位置的列表
      • 6.3 RDD的弹性的体现
        • 6.3.1 存储的弹性
        • 6.3.2 计算的弹性
        • 6.3.3 容错的弹性
        • 6.3.4 分片的弹性
      • 6.4 RDD的特点
        • 6.4.1 分区
        • 6.4.2 只读
        • 6.4.3 依赖
        • 6.4.4 缓存
        • 6.4.5 检查点
      • 6.5 RDD的分类
      • 6.6 RDD的编程
        • 6.6.1 RDD的创建操作
        • 6.6.2 RDD的转换操作(转换算子)

Spark计算框架

一、Spark的概述

Spark是一个分布式的计算框架,是Hadoop的MapReduce的优化解决方案。Hadoop的MR存在两大核心问题:1、无法进行迭代式计算 2、MR程序是基于磁盘运算,运算效率不高

Spark主要解决了Hadoop的MR存在的问题,Spark是基于内存运算的一种迭代式计算框架

Spark还有一个思想 one stack to rule them all(一栈式解决方案),Spark内置了很多子组件,子组件可以应用于不同的计算场景下,Spark SQL(结构化数据查询)、Spark Streaming(准实时计算)、Spark MLlib(算法)、Spark GraphX(图计算)、Spark R,以上这些子组计都是基于Spark Core开发的。

Spark之所以可以实现基于内存的迭代式计算,主要也是因为Spark Core中的一个核心数据抽象RDD

二、Spark的特点

  1. 计算快速
  2. 易用
  3. 通用
  4. 兼容

三、Spark的安装部署(安装部署Spark的Cluster Manager-资源调度管理器的)

3.1 本地安装–无资源管理器

3.2 Spark的自带独立调度器Standalone

3.2.1 主从架构的软件

3.2.2 Master/worker

3.2.3 伪分布、完全分布、HA高可用

3.3 Hadoop的YARN

3.4 Apache的Mesos

3.5 K8S容器技术

【注意】:我们在安装部署Spark的资源管理器的同时,也可以安装一个Spark的job history

四、Spark程序的部署运行

Spark部署运行和MR程序的部署运行方式一致的,需要将我们编写的Spark程序打包成为一个jar包,放到我们的Spark集群中,然后通过Spark相关命令启动运行Spark程序即可

spark-submit         --class   全限定类名        --master  运行的资源管理器       --deploy-mode  部署运行的模式          --num-executors   只在yarn模式下使用  指定executor的数量      --executor-cores   指定每一个executor具备多少个CPU内核,一个内核可以运行一个TASK      --executor-memory   每一个executor占用的内存      jar包路径      main函数的args参数列表

五、Spark集群运行中三个核心角色

5.1 Driver驱动程序

5.2 Cluster Manager(资源管理器)

5.3 Executor(执行器)

六、Spark的核心基础Spark Core

Spark Core是Spark计算框架的核心基础,Spark中子组件都是基于Spark Core封装而来的。

Spark Core中包含了Spark的运行调度机制、Spark的迭代式计算、基于内存的运算机制

6.1 Spark Core中最核心的有两个概念

6.1.1 SparkContext

SparkContext:Spark的上下文对象,Spark程序的提交运行,任务分配等等都是由SparkContext来完成的。

6.1.2 RDD

RDD:也是Spark最核心最重要的概念,也是Spark中最基础的数据抽象(spark处理的所有数据都会封装称为RDD然后进行处理)

6.2 RDD的属性(RDD具备的一些特征)

6.2.1 一组分区(一组切片)

6.2.2 一个计算每一个分区(切片)数据的compute函数

6.2.3 一个用来记录RDD依赖关系的列表

6.2.4 一个分区机制(RDD必须得是键值对类型的RDD)

6.2.5 一个用来记录分区位置的列表

6.3 RDD的弹性的体现

6.3.1 存储的弹性

6.3.2 计算的弹性

6.3.3 容错的弹性

6.3.4 分片的弹性

6.4 RDD的特点

6.4.1 分区

6.4.2 只读

6.4.3 依赖

  1. 宽依赖:父RDD的一个分区数据被子RDD的多个分区同时使用,一般在shuffle算子中才会出现

  2. 窄依赖:父RDD的分区数据只能给子RDD的一个分区

    依赖是Spark程序划分stage的核心依据,stage划分规则是从上一个宽依赖算子到下一个宽依赖算子之间的操作都属于同一个stage.

6.4.4 缓存

6.4.5 检查点

6.5 RDD的分类

RDD数据集,内部可以存放各种各样的数据类型,根据存储的数据类型不同,将RDD分为两类:数值类型的RDD(RDD)、键值对类型的RDD(PairRDD)

数值类型的RDD存放的数据类型可以是任何类型,包括键值对类型 RDD[String]、RDD[People]

键值对类型的RDD指的是数据集中存放的数据类型是一个二元组 是一种比较特殊的数值类型的RDD RDD[(String,Int)]、RDD[(Int,(String,Int))],

键值对类型的RDD有它自己独特的一些算子操作,同时键值对类型的RDD可以使用数值类型RDD的所有操作

6.6 RDD的编程

在Spark中,对数据操作其实就是对RDD的操作,对RDD的操作无外乎三种:1、创建RDD 2、从已有的RDD转换得到一个新的RDD 3、从已有的RDD得到相应的结果

RDD的编程方式主要分为两种:命令行编程方式(spark-shell–数据科学、算法研究)、API编程方法(数据处理 java scala python R)

6.6.1 RDD的创建操作

将数据源的数据转换称为Spark中的RDD,RDD的创建主要分为三种:1、从外部存储设备创建RDD(HDFS、Hive、HBase、Kafka、本地文件系统…)2、Scala|Java集合中创建RDD 3、从已有的RDD转换成为一个新的RDD(RDD的转换算子)

  1. 从集合中创建RDD

    函数名说明
    parallelize(Seq[T],num)
    makeRDD(Seq[T],num)底层就是parallelize函数的实现了
    makeRDD(Seq[(T, Seq[String])])这种方式创建的RDD是带有分区编号的 ,集合创建的RDD的分区数就是指定的分区数

    1~2:都可以传递一个第二个参数,第二个参数代表的是RDD的并行度(RDD的分区数),默认分区数就是master中设置的cpu核数

  2. 从外部存储创建RDD

textFile()

wholeTextFile()

6.6.2 RDD的转换操作(转换算子)

RDD之所以可以实现迭代式操作,就是因为RDD中提供了很多算子,算子之间进行操作时,会记录算子之间的依赖关系

RDD中具备一个转换操作的算子,转换算子是用来从一个已有的RDD经过某种操作得到一个新的RDD的,转换算子是惰性计算规则,只有当RDD遇到行动算子,转换算子才会去执行。

算子:就是Spark已经给我们封装好的一些计算规则,只不过这些计算规则内部还需要传入计算逻辑,代码层面上,算子就是需要传入函数的函数。Spark提供了80+个算子。

数值型RDD的转换算子(通用算子)

函数名说明
map(f:T=>U)算子–一对一算子
mapPartitions(f:Iterator[T]=>Iterator[U])算子—一对一算子,一个分区的数据统一执行一次map操作
mapPartitionsWithIndex(f:(Index,Iterator[T])=>Iterator[U])一对一算子,和mapPartitions算子的逻辑一模一样的,只不过就是多了一个分区编号。
filter(f:T=>Boolean)算子—过滤算子,对原有RDD的每一个算子应用一个f函数,如果函数返回true,那么数据保留,如果返回false,那么数据舍弃

键值对类型RDD的转换算子

http://www.yayakq.cn/news/39970/

相关文章:

  • 建网站需要备案吗wordpress第三方订阅地址
  • 创意网站建设工程合同模板
  • 外贸网站建设 杭州房屋装修在线设计网站
  • 太原百度seo网站建设网页模板网站 优帮云
  • 专业微网站营销免费的微商加人软件
  • 深圳网站营销公司简介电商平台怎么加入
  • 松原建设工程交易中心网站什么是网络营销?网络营销与电子商务有什么区别?
  • 深圳快速网站制作今天的热搜榜
  • 做网站彩票网站外国人搞笑做视频网站
  • 企业网站建设与网页设计北京手机网站搭建费用
  • 房产网站建设价格做k12网站
  • 村镇建设年度报表登录网站图书馆网站建设需求方案
  • dedecms 调用网站内部搜索dede做漫画网站的案例
  • 济南网站制作0531sosowordpress 登录页面变了
  • 手机网站支付签约手游折扣平台最新排名
  • 关于网站开发书籍博罗网站定制
  • 网页设计与制作个人网站模板做网站莱芜
  • 设计网站100个免费wordpress悬浮窗口
  • 北京高端网站建设公司浩森宇特wap免费空间
  • 监控视频做直播网站网站建设费摊销期限
  • 厦门律师网站建设wordpress对配置的要求
  • 网站图片上传却不显示区块链app开发价格
  • 做网站vi系统是什么wordpress 管理登录
  • 塔城建设局网站西安房价走势最新消息
  • 爬虫代理ip购买如何做网站排名优化
  • 企业网站访问对象有哪些免费网络软件
  • 外贸网站怎么做才好足球直播网站开发定制
  • 合肥做网站的软件公司网络营销常用的工具有哪些
  • 做seo哪些网站会好点自己免费制作logo软件
  • 深色大气网站模板wordpress手机站如何做