Spark运行时程序调度

一,Spark运行时程序调度

       1,Spark应用程序会在一个物理节点上有驱动程序(Driver)

       2,驱动程序(Driver)会分发每个tasks到Worker节点

       3,Worker节点就会返回result到Dirver节点

二,Spark程序运行流程

      1,分布式文件系统(File system)--加载数据集(RDD)

      2,transformations延迟执行--针对RDD的操作

      3,Action触发执行

三,Spark为何要做缓存
1,lines = sc.textFile(“hdfs://...”)
   加载进来成为RDD
2,errors = lines.filter(_.startsWith(“ERROR”))
   Transformation转换
3,errors.persist()
   缓存RDD
4,Mysql_errors = errors.filter(_.contain(“MySQL”)).count
   Action执行
5,http_errors = errors.filter(_.contain(“Http”)).count
  Action执行

由上面的代码可以看出

1和2是Transformation操作,

4是Action操作就会触发Job,

如果不做3的缓存那一步,5就会找不到errors这个RDD

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值