1、SparkContext [经常简称为 sc]

spark app 的起点和入口,一般用来加载数据集,生成第一个 rdd。

2、定义一个 spark 应用程序所需要的三大步骤的逻辑:加载数据集,处理数据,结果展示。

  • 加载数据集
加载数据集,这里的数据集大概分为两组:- 一种是不变的,静态数据集,大多数场景都是从数据库,文件系统上面加载进来
    - 另一种是动态的数据集,一般做 streaming 应用的时候用到,大多数场景是通过 socket 来加载数据,复杂场景可以通过文件系统,akka actors,kafka,kinesis 和 一些第三方提供的 streaming api [twitter 等] 来作为数据源加载数据
  • 处理数据
处理数据,这是重点中的重点,不过不外乎都是从三个方面来完成这里的数据清理,逻辑运算等:- 自定义的一些复杂处理函数或者第三方包 [下面我们称为函数集]
    - 通过 RDD 的 transform,action 和函数集来完成整个处理,计算流程
    - 通过 RDD 提供的 cache,persist,checkpoint 方法把一些处理流程中的重要处理节点和常用数据缓存和备份,以加速处理,计算速度
  • 结果展示
结果展示,这里一般情况都是使用 RDD 的 collect,take,first,top 等方法把结果取出来,更常用的是先把结果取出来,放到一个数据库或文件系统上,然后再提供给专门展示结果的另一个 application 使用。

3、有向无环图(DGA):

有向无环图,有向即有方向,无环即不可逆,其实更详细的说是一个时间上的先来后到,即祖先与子孙的关系,是不可逆的。

有向无环图(百度百科)

4、RDD
关于RDD的一篇论文翻译

Spark的这些事系列文章:
Spark的这些事<一>——Windows下spark开发环境搭建
Spark的这些事<二>——几个概念
Spark的这些事<三>——spark常用的Transformations 和Actions

Spark的这些事lt;二gt;——几个概念相关推荐

  1. 记录安装oracle的那些事(二)之双系统安装

    今天电脑恢复了前几天的模样,依旧是仅有的win7,胆颤心惊的依然决定用easybcd装. 首先,资源的需要: 1 两个centos的镜像.bin-dvd的,这个是全的,不用在线下载了. 2 easyB ...

  2. Spark 之 故障排除(二)

    Spark 之 故障排除(二) 这是我参与更文挑战的第12天,活动详情查看:更文挑战 故障排除四:解决算子函数返回NULL导致的问题 在一些算子函数里,需要我们有一个返回值,但是在一些情况下我们不希望 ...

  3. 机器视觉工业缺陷检测的那些事(二、相机)

    目录 机器视觉工业缺陷检测的那些事(二) 2.相机的选择 (1)工业数字相机的分类: (2)相机的主要参数 ①分辨率 ②速度(帧频/行频) ⑥像元深度 (3)工业数字摄像机主要接口类型 CCD和COM ...

  4. 安装Ubuntu后必须要做的几件事(二)--开发工具篇

    链接 链接 安装Ubuntu后必须要做的几件事(一)–基础应用篇 安装Ubuntu后必须要做的几件事(二)–开发工具篇 终端的乐趣–Linux下有趣的终端命令或者工具 Ubuntu使用apt-file ...

  5. 架构漫谈(二):认识概念是理解架构的基础

    原文:架构漫谈(二):认识概念是理解架构的基础 架 构漫谈是由资深架构师王概凯Kevin执笔的系列专栏,专栏将会以Kevin的架构经验为基础,逐步讨论什么是架构.怎样做好架构.软件架构如何落地.如 何 ...

  6. 逗比的输入法实现(二):基础概念和常用接口

    为什么叫 Meow?因为这是给猫用的输入法... 目录 (一):基本情况 (二):基础概念和常用接口 (三):整体构架 (四):编辑和候选 (五):界面管理和无界面模式 (六):词库和候选算法 (七) ...

  7. Direct3D11学习:(二)基本绘图概念和基本类型

    转载请注明出处:http://www.cnblogs.com/Ray1024 一.概述 在正式开始学习D3D11之前,我们必需首先学习必要的基础知识. 在这篇文章中,我们将介绍一下Direct3D中常 ...

  8. 在JavaScript中没有二维数组的概念

    在编写WebClinet端脚本时有时需要用到数组进行操作,javascript中声明数组的语法为 Dim 变量 = new Array(); 需要注意的是,在javascript中没有二维数组的概念, ...

  9. 二维数组 --> 概念

    二维数组的概念 二维数组本质上就是由多个一维数组摞在一起组成的数组,二维数组中的每个元素都是一维数组,而一维数组中的每个元素才是数据内容. 二维数组的声明和初始化方式 数据类型[][] 数组名称 = ...

最新文章

  1. Codis集群扩容方法
  2. python3调用函数len结果不返回字符串长度_Python通过len函数返回对象长度
  3. Verilog: How to avoid 'Redeclaration of ansi port'
  4. 配置LNMP遇到的问题(页面空白,不能解析php等)以及fastcgi和php-fom的关系
  5. roncoo-pay 开源支付系统全新架构升级
  6. 3D渲染集群,听说过吗?
  7. Linux知识--初始linux
  8. webpack教程(二)——webpack.config.js文件
  9. 几个常用的JavaScript字符串处理函数
  10. Excel多级下拉菜单的制作
  11. linux的管理权限命令,Linux权限管理命令
  12. hihoCoder 1096 Divided Product 微软苏州校招笔试 12月27日
  13. 【转】这么多计算几何题目,够你练了
  14. Echarts官方文档
  15. python第三方库批量安装_使用Python批量安装第三方库
  16. 网速是什么意思?带宽是什么意思?1M网速的下载速度应是多少?[转.baidu]
  17. cas1584803-67-7|花菁染料齐岳试剂
  18. 【微信小程序】微信小程序开发学习记录
  19. matlab 数组扩充
  20. ssm 一对多的映射关系

热门文章

  1. 只要32万8,国产特斯拉带回家,官方:月供低至1100
  2. 超越Mask-RCNN:谷歌大脑的AI,自己写了个目标检测AI
  3. 你已经是台成熟的vivo手机了,要自己学会打王者
  4. GitHub发布年度机器学习榜:TensorFlow最火,PyTorch失踪,Julia第四
  5. 3D版pix2pix来了,画一只猫就能抱起来吸丨github
  6. 令人泪目 浙江江山古稀老人照顾俩脑瘫儿近半世纪
  7. 八皇后问题(非递归版)
  8. 《Java程序员面试秘笈》—— 1.3 线程信息的获取和设置
  9. 非root用户安装nginx
  10. Python3.5.2官方文档学习备忘录