gpt4 book ai didi

apache-spark - Spark Streaming Kafka createDirectStream - Spark UI 将输入事件大小显示为零

转载 作者:行者123 更新时间:2023-12-04 04:19:34 24 4
gpt4 key购买 nike

我已经使用 createDirectStream 实现了 Spark Streaming。我的 Kafka 生产者每秒向具有两​​个分区的主题发送多条消息。

在 Spark 流式传输方面,我每秒读取一次 kafka 消息,并且我正在以 5 秒的窗口大小和频率对它们进行窗口化处理。

Kafka 消息得到正确处理,我看到了正确的计算和打印。

但是在 Spark Web UI 中,在 Streaming 部分下,每个窗口的事件数显示为零。请看这张图片:

Spark UI showing Zero events

我很困惑为什么它显示为零,它不应该显示被馈送到 Spark Stream 的 Kafka 消息的数量吗?

更新:

这个问题似乎是在我使用 groupByKeyAndWindow() api 时发生的。当我从我的代码中注释掉此 api 用法时,Spark Streaming UI 开始正确报告 Kafka 事件输入大小。

知道为什么会这样吗?这可能是 Spark Streaming 的缺陷吗?

我正在使用 Cloudera CDH:5.5.1,Spark:1.5.0,Kafka:KAFKA-0.8.2.0-1.kafka1.4.0.p0.56

enter image description here

最佳答案

好像不是Spark Kafka库代码记录的。

基于Spark 2.3.1

的代码
  1. 搜索Input Size/Records,发现是stageData.inputBytes (StagePage.scala)的值
  2. 搜索StageDatainputBytes,发现是metrics.inputMetrics.bytesRead的值(LiveEntity.scala)
  3. 搜索bytesRead,发现在HadoopRDD.scalaFileScanRDD.scalaShuffleSuite.scala中设置。但不在任何 Kafka 相关文件中。

关于apache-spark - Spark Streaming Kafka createDirectStream - Spark UI 将输入事件大小显示为零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37070118/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com