"阶段"的含义是什么?在用于流式方案的Spark UI上

时间:2015-05-14 07:31:03

标签: apache-spark spark-streaming

我正在开发Spark Streaming并尝试监控和改善流媒体应用的性能。但我对以下问题感到困惑。

  1. Spark Portal上每个阶段的含义是什么" Spark Streaming" 的应用程序。
  2. 并非所有"转型"映射到任务。以及如何定位"转型"到映射的任务。
  3. 流媒体代码快照

    val transformed = input.flatMap(i => processInput(i))
    val aggregated = transformed.reduceByKeyAndWindow(reduce(_, _), Seconds(aggregateWindowSizeInSeconds), Seconds(slidingIntervalInSeconds))
    val finalized = aggregated.mapValues(finalize(_))
    finalized
    
      

    (门户网站上只发布了Flatmap阶段。)

    Spark Streaming Portal Spark Streaming, Spark Portal

    谢谢,

1 个答案:

答案 0 :(得分:1)

Spark从源中获取各个命令,然后优化为要在群集上执行的任务计划。一个这样的优化的一个例子是map-fusion:两个地图调用进来,一个单一的地图任务出来。 阶段是任务组之间的更高级别边界,定义为跨越该边界,您必须执行随机播放。

所以:

  • 您在RDD上调用的每个运算符都会导致操作和转换。
  • 这会产生运营商的DAG。
  • DAG被编译成阶段。
  • 每个阶段都是作为一系列执行的 任务。