博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【Spark亚太研究院系列丛书】Spark实战高手之路-第3章Spark架构设计与编程模型第3节①...
阅读量:7242 次
发布时间:2019-06-29

本文共 481 字,大约阅读时间需要 1 分钟。

hot3.png

一、以RDD为基石的Spark编程模型

在Spark中一切都是基于RDD的:

215553_7oLn_1791057.png

什么是RDD呢?官方给出的解释是:

215828_ANiM_1791057.jpg

也就是说每个RDD都至少有以下三个函数实现:

215903_dehZ_1791057.jpg

 

Spark自带了非常多的RDD:

215959_wMlA_1791057.jpg

RDD主要分为两种:

220202_kP5a_1791057.jpg

 

其中的transformations是lazy execution的,需要具体的action去触发,每个action操作都是一个单独的job;

接下来我们看一个具体的RDD操作的例子:

 

 

220046_JUNd_1791057.png

RDD中有两个比较特殊的RDD:

220047_ywaz_1791057.png

这两个RDD的特殊之处在于皆是控制性操作的RDD:

220047_vP1s_1791057.png

二,RDD的依赖和运行时

在Spark中RDD是具备依赖关系的,而依赖分为两种:

220051_FFv2_1791057.png

“Narrow”依赖的一个好处就是可以进行内部的pipeline操作:

220053_RyC1_1791057.png

运行的时候是以RDD为统一抽象并行化运行:

220055_DPrT_1791057.png

更进一步的详细RDD并行化计算过程如下所示:

220058_CUXj_1791057.png

正如所有的分布式结构一样,Spark分布式集群也是主从结构的:

220100_xJ64_1791057.png

Spark运行时组件如下所示:

220103_nnpg_1791057.png

Spark运行时候的事件流如下所示:

220107_edqr_1791057.png

 

转载于:https://my.oschina.net/u/1791057/blog/362072

你可能感兴趣的文章
《C语言及程序设计》实践项目——循环嵌套
查看>>
阿里价值“千万”的秒杀场景参数优化
查看>>
互联网创业公司黑话指南,很严肃的,不许笑!
查看>>
设计模式之适配器模式
查看>>
2017新年快乐特效
查看>>
PostgreSQL 9.6 内核优化 - sort性能增强(batch化quicksort代替replacement selection when work_mem small)...
查看>>
Tomcat启动时报错:“ Error starting static Resources”问题解决
查看>>
3月21日云栖精选夜读:用数据统计说话:2016年收入最高的编程语言与流行web框架(程序猿爱看)...
查看>>
Infrastructure as Code——Kubernetes一键编排实践
查看>>
触摸云端编程之道——基于函数计算的serverless应用开发
查看>>
让BASH,VIM美美的Powerline
查看>>
Genymotion安装配置指南
查看>>
最近架设的MUNIN,WEBALIZER,AWSTATS截图存档
查看>>
食物链
查看>>
Adapter 适配器模式(设计模式03)
查看>>
前端调错(一)---ajax返回数据成功,却进入error方法
查看>>
Java千百问_05面向对象(009)_java的多态性都有什么表现
查看>>
SQL Server分页3种方案比拼[转]
查看>>
《从零开始学Swift》学习笔记(Day 25)——类和结构体定义
查看>>
每周一道数据结构(四)A*算法&博弈树α-β剪枝
查看>>