分享

spark是否可以进行链式任务

提示: 作者被禁止或删除 内容自动屏蔽

已有(8)人评论

跳转到指定楼层
seraph50 发表于 2015-12-2 16:11:45
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

starrycheng 发表于 2015-12-2 16:26:41
seraph50 发表于 2015-12-2 16:11
速度来人啊。求解惑

楼主spark是天生的,mapreduce链式则是后来发展的
spark使用的是DAG
回复

使用道具 举报

seraph50 发表于 2015-12-2 16:28:15
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

xuanxufeng 发表于 2015-12-2 16:39:46
seraph50 发表于 2015-12-2 16:28
图上的那种任务用spark是否可以实现?能否详细讲下呢

spark会提交任务,然后对任务分解。分解的过程,如果有多个阶段,那就如楼主图,spark任务有的比楼主的还复杂。

为每一个job计算出一个DAG,并且去跟踪已经实现的RDD和stage,并且为每一个job找到一个最小的调度去运行,然后将stages封装为taskset提交给taskScheduler。



链接:http://pan.baidu.com/s/1qWovXzY 密码:1ekk
回复

使用道具 举报

seraph50 发表于 2015-12-2 16:45:14
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

xuanxufeng 发表于 2015-12-2 17:08:31
seraph50 发表于 2015-12-2 16:45
我不是想问DAG啊。我是有个是计算需求如图展示的,但我不知道怎么套用spark的编程模型。

首先第一个问题,spark是可以进行链式任务的,这点是肯定的。
至于如何将mapreduce转换为spark编程模型,则是需要楼主首先懂spark是什么?
spark的本质是通过RDD来操作的。所以实现链式是特别简单的。
如何转换编程模型,其实也很简单。
首先楼主需要懂scala,不懂的话,只能自己打基础。
这篇文章对楼主有所帮助
如何将 MapReduce 转化为 Spark
http://www.aboutyun.com/thread-16414-1-1.html



回复

使用道具 举报

xuanxufeng 发表于 2015-12-2 17:12:56
MapReduce 方式 Map 函数
public class LineLengthCountMapper
extends Mapper<LongWritable,Text,IntWritable,IntWritable> {
@Override
protected void map(LongWritable lineNumber, Text line, Context context)
throws IOException, InterruptedException {
context.write(new IntWritable(line.getLength()), new IntWritable(1));
}
}

Spark 方式 Map 函数

lines.map(line => (line.length, 1))

上代码中 map() 操作是一个 RDD
有了RDD链式实现就简单多了
回复

使用道具 举报

seraph50 发表于 2015-12-3 12:09:58
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条