spark_2:spark的基础

基础

  • Application
spark的应用程序,包括一个Driver programe和若干个Executor
  • sprakcontext
sprak的应用程序入口,负责调度各个运算资源,协调各个worker node上的Executor
  • Driver Program
运行appilcation的main()函数并创建SparkContext
  • Executor
Apllication运行在work node 上的一个进程
进程负责将数据存在内存或者磁盘
每个Application都会申请各自的Executors来处理任务
  • Cluster Manger
在集群上获得外部服务yarn,standalone
  • work node
集群中任何可以运行Application代码的节点,运行一个或者多个Executor进程
  • Task
运行在executor的工作单元
  • Job
SparkContext提交的具体的Action操作
  • stage
每个job被拆分为很多组任务(task), 每组任务被称为stage,为称为TaskSet
  • RDD
弹性分布式数据集,核心模块和类
  • DAFScheduler
根据Job,构建基于stage的DAG,并提交Stage给TaskScheduler
  • TaskScheduler
将Taskset提交给Worker node的集群运行并返回结果
  • Transformations/Action
Spark API的两种
1. Transformation返回RDD
2. Action返回不是一个RDD,而是一个Scala集合
3. Transformation提交后不执行计算,计算只有在Acion提交后才触发

spark core

RDD

  • 弹性:数据集丢失一部分,可以重建
  • 容错: Lineage,记录如何从其他RDD转换而来

RDD编程接口

  • Transformations:转换操作,返回一个RDD
map/filter/flatmap/sample/groupbykey/reducebykey/union/join/cogroup
crossProduct/mapValues/sort/partitionBy
  • Action: 行动操作
count/collect/reduce/save
  • 窄依赖和宽依赖
* 窄依赖: 一个父RDD最多被一个子RDD引用,map/filter/union
* 宽依赖: 一个父RDD被多个字RDD引用,groupByKey等操作
  • Stage DAG
* stage之间的依赖形成DAG(有向无环图)
* 窄依赖:RDD尽量在一个stage中
* 宽依赖:shuffer操作,shuffle定义为stage的边界

streaming

Spark Graphx

  • 图计算
  • svd++

Spark Shark

  • shark = Hive on Spark

Spark SQL

MLBASE

Tachyon


SPARK计算模型

基于内存的迭代计算

  • mapreduce每次执行中需要从磁盘读取数据,计算完毕后把数据存入磁盘
  • spark基于内存

DAG

  • DAG也是快速的原因
  • stage之间的依赖形成DAG
  • DAG:宽依赖,窄依赖

基于DAG具有精致的作业调度系统

基于DAG具有容错机制


RDD基本概念

创建RDD

  • 加载外部数据
  • 驱动中平行化集合:spark.parallelize

RDD 操作

  • 转换:生成RDD
  • 动作

惰性

  • spark不会执行,知道有一个动作
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值