Spark + HDFS的运行架构图(http://www.oschina.net/news/76763/spark-architecture?from=timeline&isappinstalled=0)

Driver:运行Application的main函数并创建SparkContext,SparkContext准备Spark应用程序的运行环境、负责资源的申请、任务分配和监控等。当Executor运行结束后,Driver负责关闭SparkContext

Master    : Master作为集群的Manager,接收worker的注册并管理所有的worker,接收client提交的application,(FIFO)调度等待的application并向worker提交

Job:  一个Application可以产生多个Job,其中Job由Spark Action触发产生,一个action产生一个job。每个Job包含多个Task组成的并行计算。

Stage:每个Job会拆分为多个Task,作为一个TaskSet,称为Stage

RDD:弹性分布式数据集,Spark基本计算单元,核心数据模型。表示已被分区、被序列化、不可变的、有容错机制的、能被并行操作的数据集合。

transformation:转换算子,这类转换并不触发提交作业,完成作业中间过程处理。

Action:行动算子,这类算子会触发SparkContext提交Job作业。

spark计算拓扑图(https://weibo.com/p/230418137d8846e0102xji1?display=0&retcode=6102)

Transformation具体内容

  • map(func) :返回一个新的分布式数据集,由每个原元素经过func函数转换后组成
  • filter(func) : 返回一个新的数据集,由经过func函数后返回值为true的原元素组成
  • flatMap(func) : 类似于map,但是每一个输入元素,会被映射为0到多个输出元素(因此,func函数的返回值是一个Seq,而不是单一元素)
  • sample(withReplacement, frac, seed) :
    根据给定的随机种子seed,随机抽样出数量为frac的数据
  • union(otherDataset) : 返回一个新的数据集,由原数据集和参数联合而成
  • groupByKey([numTasks]) :在一个由(K,V)对组成的数据集上调用,返回一个(K,Seq[V])对的数据集。注意:默认情况下,使用8个并行任务进行分组,你可以传入numTask可选参数,根据数据量设置不同数目的Task
  • reduceByKey(func, [numTasks]) : 使用一个相关的函数来合并每个key的value的值的一个算子,就是对元素为KV对的RDD中Key相同的元素的Value进行func的reduce操作。
  • join(otherDataset, [numTasks]) :在类型为(K,V)和(K,W)类型的数据集上调用,返回一个(K,(V,W))对,每个key中的所有元素都在一起的数据集
  • groupWith(otherDataset, [numTasks]) : 在类型为(K,V)和(K,W)类型的数据集上调用,返回一个数据集,组成元素为(K, Seq[V], Seq[W]) Tuples。
  • cartesian(otherDataset) : 笛卡尔积。但在数据集T和U上调用时,返回一个(T,U)对的数据集,所有元素交互进行笛卡尔积。

Actions具体内容

  • reduce(func) : 将RDD中元素前两个传给输入函数,产生一个新的return值,新产生的return值与RDD中下一个元素(第三个元素)组成两个元素,再被传给输入函数,直到最后只有一个值为止。这个函数必须是关联性的,确保可以被正确的并发执行
  • collect() : 在Driver的程序中,以数组的形式,返回数据集的所有元素。这通常会在使用filter或者其它操作后,返回一个足够小的数据子集再使用,直接将整个RDD集Collect返回,很可能会让Driver程序OOM
  • count() : 返回数据集的元素个数
  • take(n) : 返回一个数组,由数据集的前n个元素组成。注意,这个操作目前并非在多个节点上,并行执行,而是Driver程序所在机器,单机计算所有的元素(Gateway的内存压力会增大,需要谨慎使用)
  • first() : 返回数据集的第一个元素(类似于take(1))
  • saveAsTextFile(path) : 将数据集的元素,以textfile的形式,保存到本地文件系统,hdfs或者任何其它hadoop支持的文件系统。Spark将会调用每个元素的toString方法,并将它转换为文件中的一行文本
  • saveAsSequenceFile(path) : 将数据集的元素,以sequencefile的格式,保存到指定的目录下,本地系统,hdfs或者任何其它hadoop支持的文件系统。RDD的元素必须由key-value对组成,并都实现了Hadoop的Writable接口,或隐式可以转换为Writable(Spark包括了基本类型的转换,例如Int,Double,String等等)
  • foreach(func) : 在数据集的每一个元素上,运行函数func。这通常用于更新一个累加器变量,或者和外部存储系统做交互

spark入门名词解释相关推荐

  1. 常见算子使用_spark快速入门(二)spark粗略流程简述及常见名词解释

    大家元旦快乐,牛年发发发~~牛气冲天o(* ̄︶ ̄*)o spark粗略流程简述 (1)有算子触发Action,Driver端和hdfs的namenode进行通信,询问元数据信息.根据元数据信息 及相应 ...

  2. 入门金融市场 名词解释

    用IT技术玩金融系列文章,将介绍如何使用IT技术,处理金融大数据.在互联网混迹多年,已经熟练掌握一些IT技术.单纯地在互联网做开发,总觉得使劲的方式不对.要想靠技术养活自己,就要把技术变现.通过&qu ...

  3. kylin分析引擎:运行原理、维度和Cube等名词解释、核心算法

    架构 kylin是一款分析引擎,最常用的数据源是Hive.1.5版本之后数据源增加了kafka,但最常用的仍然是Hive.但是Hive查询比较慢,Kylin解决了这一问题. 大致流程: 第一步:从Hi ...

  4. Spark入门实战系列--8.Spark MLlib(上)--机器学习及SparkMLlib简介

    [注]该系列文章以及使用到安装包/测试数据 可以在<倾情大奉送--Spark入门实战系列>获取 1.机器学习概念 1.1 机器学习的定义 在维基百科上对机器学习提出以下几种定义: l&qu ...

  5. 数据分析从零到精通第二课 Hive和Spark入门

    03 离线利器:大数据离线处理工具 Hive 的常用技巧 今天为你介绍数据分析师最常用的数据处理工具 Hive 的一些使用技巧.这些技巧我们在工作中使用得比较频繁,如果运用得当,将为我们省去不少时间精 ...

  6. 区块链基本概念和名词解释

    区块链入门系列文章 区块链基本概念和名词解释 P2P 共识算法 梅克尔-帕特里夏树 从零开始搭建区块链 这里写自定义目录标题 区块链入门系列文章 前言 一切要从Web3说起 Web1时代特点 Web2 ...

  7. python考试名词解释_程序设计(python)_章节测验,期末考试,慕课答案查询公众号...

    程序设计(python)_章节测验,期末考试,慕课答案查询公众号 更多相关问题 [名词解释] 语丝社 [问答题,简答题] 简析<雷雨>中侍萍形象 [名词解释] "人的文学&quo ...

  8. 黑苹果新手指导:名词解释常用软件常见问题说明

    写在前面 本文内容主要针对刚入黑苹果这个天坑两眼一抹黑的新手,涉及名词解释,常见问题等,本文长期整理更新.内容比较入门浅显,如果不能解决你的问题,请见谅. 本文涉及内容及概念较多,不必一次看完,直接看 ...

  9. spark系列3:spark入门编程与介绍

    3. Spark 入门 目标 通过理解 Spark 小案例, 来理解 Spark 应用 理解编写 Spark 程序的两种常见方式 spark-shell spark-submit Spark 官方提供 ...

  10. 一起学习Spark入门

    操作系统:CentOS-7.8 Spark版本:2.4.4 本篇文章是一个Spark入门文章,在文章中首先会对Spark进行简单概述,帮助大家先认识Spark,然后会介绍Spark安装部署上的基础知识 ...

最新文章

  1. DIV布局SEO的影响
  2. 显示所有文件和文件夹无论如何 无法被设置
  3. 易生信高级转录组分析和数据可视化第9期课程开课啦!!
  4. scanf 接收 空格 输入_【C/C++】【输入】关于scanf:输入空格,多次使用
  5. STM32使用IIC总线通讯协议在OLED屏幕上显示字符串、汉字、单总线获取DHT11模块温湿度并通过IIC显示到屏幕(软件IIC)
  6. Blazor带我重玩前端(五)
  7. 前端传递多个数组以及其他参数,springboot后台如何接收
  8. 带你自学Python系列(二):Python列表总结-思维导图
  9. 阿里技术专家浅谈微服务架构
  10. 2016年3月-7月电机组装以及基于MAXON运动控制系统
  11. 干净卸载sqlserver2019 亲测有效!
  12. dell r230u盘启动安装2008_利用U盘安装win2008r2系统的步骤
  13. python安装教程
  14. 基于多任务学习的快件送达时间预测方法
  15. 计算机科学之父-艾伦·麦席森·图灵的传奇人生
  16. Android中管理代码基本工作流程
  17. 阿里云 幸运券 分享 2017 10
  18. Revit 导出插件使用说明及注意事项
  19. c语言平时成绩占总分多少,C语言考试分析2009--2010第一学期).doc
  20. iOS中使用基于RSA使用公钥加密和公钥解密

热门文章

  1. 实习日记 08/23 day33 理解JVM---Java核心卷中的并发
  2. 正元一卡通对接代码Webservice
  3. 2017年小米春招内推面试面经
  4. 计算机领域论文 网站,各类论文网站大全
  5. 网站漏洞扫描工具--Safe3 Web Vul Scanner功能展示
  6. 阿里小蜜:语音识别、语义分析、深度学习在手机淘宝的实战分享
  7. 旋转图像 顺时针与逆时针方法
  8. c语言画实心圆角矩形,android 画虚线、实线,画圆角矩形,一半圆角
  9. 计算机术语 gc 是什么意思,gc是什么意思的缩写
  10. qca wlan wifi modules解析三