Spark的这些事<二>——几个概念

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

时间: 2024-07-29 09:39:51

Spark的这些事&lt;二&gt;——几个概念的相关文章

Spark的这些事&amp;lt;三&amp;gt;——spark常用的Transformations 和Actions

Transformations map,filter spark最长用的两个Transformations:map,filter,下面就来介绍一下这两个. 先看下面这张图: 从上图中可以清洗的看到 map和filter都是做的什么工作,那我们就代码演示一下. val input = sc.parallelize(List(1,2,3,4)) val result1 = input.map(x=>x*x) val result2 = input.filter(x=>x!=1) print(res

Spark的这些事&amp;lt;一&amp;gt;——Windows下spark开发环境搭建

一.首先准备需要安装的软件 scala-2.10.4 下载地址:http://www.scala-lang.org/download/2.10.4.html scala-SDK-4.4.1-vfinal-2.11-win32.win32.x86_64 下载地址:http://scala-ide.org/ spark-1.6.2-bin-hadoop2.6 下载地址:http://spark.apache.org/ 当然还有jdk这里就不说了 scala-2.10.4下载后直接安装~ scala-

搜索引擎优化的那些事之二

大家好,我是雪豹,清明节已经过去了,今天又到了正式工作的时间了,上一篇文章<搜索引擎优化的那些事之一>给大家介绍了关于搜索引擎优化的第一步,也获得了很多朋友的一致赞同,今天我们接着上节课继续讲搜索引擎优化的那些事之二. 上一篇文章我们讲了网站关键字的选择和一些误区,还有就是选空间选程序,这篇文章雪豹先来讲网站建设,程序啥的都定好了,下一步就是网站建设了,网站建设也是很有讲究的哦,首先保证网站的结构要整齐,这个相信很多朋友都了解,这个我就不那么多废话了,更重要的是选择结构的时候我们尽量选择树形结

这五件事,二次SaaS创业的老炮儿都在做

在我看来,我们现在正处在SaaS公司发展过程中的第三代.第一代SaaS公司有Salesforce.Netsuite和Webex等.紧接着兴起的第二代SaaS公司大多都是利用Salesforce或其他网络平台或范式进行规模化扩张. 如今,每一项商业流程都被网络化了.几年前规模还非常小的市场如今已经开始爆发,几年前没有SaaS产品购买预算的公司如今也开始在SaaS产品上进行大笔投入. 伴随第三代SaaS公司而来的是二次SaaS创业者的兴起.我这里所说的二次SaaS创业者并不是那些第一次SaaS创业尝

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

今天电脑恢复了前几天的模样,依旧是仅有的win7,胆颤心惊的依然决定用easybcd装. 首先,资源的需要: 1 两个centos的镜像.bin-dvd的,这个是全的,不用在线下载了. 2 easyBCD2.2 步骤: 1 win7下面新建磁盘,要FAT32格式的,因为grub不认ntfs的磁盘.大概10G能存放两个镜像就可以了. 2 把dvd1中的images 和 isolinux分别解压到新建的镜像磁盘,还有c盘的根目录下. 3 安装并启动easyBCD,在新加条目里,选择NeoGrub,安

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

原文:架构漫谈(二):认识概念是理解架构的基础 架 构漫谈是由资深架构师王概凯Kevin执笔的系列专栏,专栏将会以Kevin的架构经验为基础,逐步讨论什么是架构.怎样做好架构.软件架构如何落地.如 何写好程序等问题.专栏的目的是希望能抛出一些观点,并引发大家思考,如果你有感触或者新的感悟,欢迎联系专栏负责人Gary(微信 greenguolei)深聊. 本文是漫谈架构专栏的第二篇,作者通过几个例子,讨论了一下认识概念的误区,如何有效的去认识概念,明白概念背后的含义,以及如何利用对概念的理解,快速

MongoDB快速入门笔记(二)之MongoDB的概念及简单操作_MongoDB

MongoDB是面向集合的文档式数据库,不像关系数据库那样,有表,列.行,mongoDB数据库则是由一系列的文档组成.下面给大家介绍MongoDB的概念及简单操作. 1.以下列举普通的关系型数据库和MongoDB数据库简单概念上的区别: 2.MongoDB的简单操作 (1)启动MongoDB数据库之后,使用命令mongo,显示如下,默认连接到test数据库. MongoDB shell version: 3.2.6 connecting to: test 使用命令show dbs,可以查看所有的

Spark源码分析之二:Job的调度模型与运行反馈

        在<Spark源码分析之Job提交运行总流程概述>一文中,我们提到了,Job提交与运行的第一阶段Stage划分与提交,可以分为三个阶段:         1.Job的调度模型与运行反馈:         2.Stage划分:         3.Stage提交:对应TaskSet的生成.         今天,我们就结合源码来分析下第一个小阶段:Job的调度模型与运行反馈.         首先由DAGScheduler负责将Job提交到事件队列eventProcessLoop

Apache Spark源码走读(二)DStream实时流数据处理 &amp;DStream处理的容错性分析

<一>DStream实时流数据处理 Spark Streaming能够对流数据进行近乎实时的速度进行数据处理.采用了不同于一般的流式数据处理模型,该模型使得Spark Streaming有非常高的处理速度,与storm相比拥有更高的吞能力. 本篇简要分析Spark Streaming的处理模型,Spark Streaming系统的初始化过程,以及当接收到外部数据时后续的处理步骤. 系统概述 流数据的特点 与一般的文件(即内容已经固定)型数据源相比,所谓的流数据拥有如下的特点 数据一直处在变化中