首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >与Spark资源使用相关的疑虑

与Spark资源使用相关的疑虑
EN

Stack Overflow用户
提问于 2017-06-29 03:15:53
回答 1查看 62关注 0票数 0

我正在执行Spark Streaming应用程序,并且正在缓存rdds用于历史回顾,我的批处理持续时间为1分钟,平均处理时间为14秒,因此执行器不会计算整个批处理持续时间。当我在内存中缓存rdd时,执行器也是如此。如果执行者被拖延,我们是否应该认为这种拖延执行者是浪费资源。

EN

回答 1

Stack Overflow用户

发布于 2017-06-29 03:40:22

这取决于你想要实现什么。

在Spark2.0中,为Spark Streaming启用了动态分配,没有Bug。

问题是什么,如果你有一个巨大的数据工作负载,如果你没有为数据接收保留至少一个执行器,你可能会丢失数据。现在,Spark 2.0解决了这个问题,数据的发布正在发挥作用。

当有大量数据到来时,将数据保存在缓存中有什么好处?你可以在不打乱的情况下处理你的数据,这会增加你的响应时间。

但是,如果你有一个1乘1分钟的过程。在平均时间内处理您的数据只需要14秒。我建议你释放你的数据,并释放你的工作人员来为其他任务开放空间。

如果您的任务没有足够的资源,这些任务将被排队,一旦您有了资源,这些任务就会得到处理。

风险是什么?如果你释放了资源,如果你的Yarn中没有preemption,工人们可能很难找回资源。这可能是对集群资源的浪费。

我要做的是:创建一些可以处理作业的队列。设置高优先级队列,在那里设置您的流,其他队列中的其他作业,并打开动态分配并释放缓存。如果你的应用程序需要更多的资源,Yarn将会处理它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44810806

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档