Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark 有关Spark资源使用的疑问_Apache Spark_Spark Streaming_Rdd - Fatal编程技术网

Apache spark 有关Spark资源使用的疑问

Apache spark 有关Spark资源使用的疑问,apache-spark,spark-streaming,rdd,Apache Spark,Spark Streaming,Rdd,我正在执行一个Spark Streaming应用程序,我正在缓存RDD以进行历史回顾,我的批处理持续时间为1分钟,平均处理时间为14秒,因此执行者不会计算整个批处理持续时间。当我在内存中缓存RDD时,执行器仍然会被阻塞。如果执行人被搁置,我们应该认为执行者的这种保留是资源的浪费。 < P>这取决于您想要实现什么。 在Spark 2.0中,启用了动态分配,以确保没有错误 问题是,如果您的数据工作量很大,如果您没有为接收的数据保留至少一个执行器,则可能会丢失数据。现在,Spark 2.0解决了这一问

我正在执行一个Spark Streaming应用程序,我正在缓存RDD以进行历史回顾,我的批处理持续时间为1分钟,平均处理时间为14秒,因此执行者不会计算整个批处理持续时间。当我在内存中缓存RDD时,执行器仍然会被阻塞。如果执行人被搁置,我们应该认为执行者的这种保留是资源的浪费。

< P>这取决于您想要实现什么。

在Spark 2.0中,启用了动态分配,以确保没有错误

问题是,如果您的数据工作量很大,如果您没有为接收的数据保留至少一个执行器,则可能会丢失数据。现在,Spark 2.0解决了这一问题,数据的发布正在进行

当出现大量数据时,将数据保存在缓存中有什么好处?您可以处理您的数据,而无需洗牌,这可以增加您的响应时间


但是,如果你有一个1乘1分钟的过程。平均只需14秒即可处理数据。我建议你释放你的数据,释放你的员工到开放的空间去完成其他任务

如果您没有足够的资源执行任务,任务将排队,并在您拥有资源后立即处理

风险是什么?如果你释放了工人,如果你没有足够的资源,他们可能很难收回资源。这可能会浪费资源,具体取决于集群的规模


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

“我建议你发布数据”,我不能发布数据,因为我需要它用于下一次历史迭代。你的数据真的很大吗?对于流的每个输入,是否检查所有数据项?是的,我检查所有数据项,数据大小为~200KB