gpt4 book ai didi

java - Spark 流式自定义指标

转载 作者:搜寻专家 更新时间:2023-10-30 21:40:50 26 4
gpt4 key购买 nike

我正在开发一个 Spark Streaming 程序,该程序检索 Kafka 流,对流进行非常基本的转换,然后将数据插入数据库(如果相关,则为 voltdb)。我正在尝试测量将行插入数据库的速率。我想metrics可能很有用(使用 JMX)。但是我找不到如何将自定义指标添加到 Spark。我查看了 Spark 的源代码,还发现了 this thread但是它对我不起作用。我还在 conf.metrics 文件中启用了 JMX 接收器。不起作用的是我没有使用 JConsole 看到我的自定义指标。

有人可以解释如何将自定义指标(最好通过 JMX)添加到 Spark Streaming 中吗?或者如何测量我对数据库(特别是 VoltDB)的插入率?我在 Java 8 中使用 spark。

最佳答案

通过 source code 挖掘后确定我找到了如何添加自己的自定义指标。它需要 3 件事:

  1. 创建我自己的自定义 source .有点像 this
  2. 在 spark metrics.properties 文件中启用 Jmx 接收器。我使用的具体行是:*.sink.jmx.class=org.apache.spark.metrics.sink.JmxSink 为所有实例启用 JmxSink
  3. 在 SparkEnv 指标系统中注册我的自定义源。可以查看如何操作的示例 here - 我之前确实查看过此链接,但错过了注册部分,这使我无法在 JVisualVM 中实际看到我的自定义指标

我仍在为如何实际计算插入 VoltDB 的次数而苦苦挣扎,因为代码在执行程序上运行,但这是另一个主题的主题:)

我希望这对其他人有帮助

关于java - Spark 流式自定义指标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32843832/

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