页面树结构

2017-07-25 Apache Spark 2.2.0 官方文档中文版发布 : http://spark.apachecn.org/docs/cn/2.2.0/


MachineLearning 优酷地址 : http://i.youku.com/apachecn

转至元数据结尾
转至元数据起始

对于群集上运行的 Spark Streaming 应用程序来说应该是稳定的,系统应该尽可能快的处理接收到的数据。换句话说,批数据在生成后应该尽快被处理。对于应用程序来说无论这个是不是真的都可以通过在 Streaming Web UI 找到 监控 的处理时间,批处理时间应该小于批间隔。

取决于流计算的性质,所用的批间隔可能在通过群集中一组固定资源上的应用程序持续的数据速率有显著的影响。例如,让我们考虑下更早的 WordCountNetwork 例子。对于一个特定的数据速率。系统可能能够保持每 2 秒报告一次单词统计(即,批间隔是 2 秒),而不是每 500 毫秒一次。因此批间隔需要被设置,使得线上的预期数据速率可持续。

要为您的应用程序找出一个合理的批大小是去使用一个保守的批间隔(例如,5~10 秒)和一个较低的数据速率来测试它。为了验证系统是否能够保持数据速率,您可以通过每个被处理的 Batch 来检查端到端的延迟情况(或者在 Spark Driver log4j 日志中看 “Total delay”,或者使用 StreamingListener 接口)。如果延迟与批大小相比较处于一个稳定的状态,那么系统是稳定的。否则,如果延迟继续增加,它意味着系统不能保持下去,因此它是不稳定的。一旦你有了一个稳定的配置,你可以去试着增加数据速率 和/或者  降低批大小。注意一个短暂的延迟增加是由于临时的数据速率增加可能会变好,只要延迟降低到一个比较低的值。(即,小于批大小)。