分享

求助,spark streaming懒执行与stage的关系

邓立辉 发表于 2016-5-3 11:08:29 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 1 6777
懒执行是相对于stage内部还是 整个DAG图的?还有我之前以为spark遇到action操作才会产生一个stage,实际在spark ui里发现flatmap也会产生一个stage,为什么?

我还经常遇到这种需求功能,我有几万的数据,和一个百亿的hbase数据库。把几万数据在百亿数据里做一系列的转换和行为,得到几千条数据,但是我只需要100条数据就够了。于是我就想,用take(n)和懒执行的方式,就不用把几万数据都做一些列转化和行为。但是我在用take的时候,发现几万的数据还是和百亿数据都做转化和行为了。
有没有什么方法,让spark在得出100条数据后,剩下的数据就不在计算了。
不知道我说清楚了没有?

已有(1)人评论

跳转到指定楼层
goldtimes 发表于 2016-5-3 13:58:48
Spark 中所有的转换都是懒执行的。所以它们并不马上计算它们的结果。代替的,它们记着这些用于基础数据集的转换,当一个动作要求一个结果被返回来,那么才执行这些计算。个人认为并不是对于stage内部或则是DAG图,而是spark的一种执行方式。
如果有全是转换操作,懒执行可能贯穿整个stage或则DAG。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~·
只计算一部分,你可以全局控制,这个应该可以通过程序控制。

回复

使用道具 举报

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

本版积分规则

关闭

推荐上一条 /2 下一条