【问题标题】:Receive and Display MQTT Stream at Pentaho Dashboard在 Pentaho Dashboard 接收和显示 MQTT 流
【发布时间】:2019-05-03 08:02:20
【问题描述】:

我正在尝试使用他们的 CCC 图表在 Pentaho 仪表板中显示(和处理)传入的 MQTT 消息。

我尝试设置水壶转换,然后将其上传到我的 Pentaho 服务器并将其用作数据源。(我测试了在勺子中运行转换并且它有效,所以问题应该在其他地方)。当我尝试显示仪表板时,它告诉我“错误处理组件(组件名称)”,而服务器抛出此异常:

Caused by: org.pentaho.reporting.libraries.resourceloader.ResourceCreationException: Unable to parse the document: ResourceKey{schema=pt.webdetails.cda.settings.CdaRepositoryResourceLoader:, identifier=/home/admin/MqttReceive2.ktr, factoryParameters={}, parent=null}
...

我做错了什么?有没有合适的方法来做到这一点?

干杯

编辑: 我找到了使用 websocket 实现来解决这个问题的解决方案,但这并不是我所需要的。

【问题讨论】:

  • 请不要编辑问题以包含解决方案。如果您有解决方案,请将其添加为正确答案(包括对其他人有用的足够详细信息),然后可以对其进行投票并标记为已接受。

标签: mqtt pentaho pentaho-data-integration pentaho-cde


【解决方案1】:

我找到了使用 websocket 实现来解决这个问题的解决方案,但这并不是我所需要的。

对于那些有兴趣的人:

https://github.com/thomaslaurenson/MQTT-Subscription-Examples

基本上,它使用 java 脚本订阅 MQTT 代理并接收数据,然后您可以在仪表板中使用这些数据。整个代码可以简单地注入您的电路板设置并准备好使用。

它非常不言自明且易于使用。

【讨论】:

  • 这基本上是一个仅链接的答案,当链接断开时,答案将变得无用。请至少使用链接所指内容的基本详细信息更新答案。
【解决方案2】:

解决这个问题的正确方法是利用数据服务。

这是我想出的:

您可以使用 Kettle 接收 MQTT 数据并在转换中对其进行处理:

您可以通过右键单击->数据服务->新建将数据服务附加到任何步骤 服务名称需要在所有数据服务中唯一,数据服务类型需要设置为流式:

整个转换需要保存到 Pentaho 存储库(基本上是 Pentaho 的内部文件系统)

您可以按照以下说明创建仪表板:

https://help.pentaho.com/Documentation/8.2/Products/CTools/Create_Streaming_Service_Dashboard

为你分解:

  1. 在数据源面板中,您需要选择“流式传输数据服务”并输入流式数据服务名称以及查询。
  2. 需要设置的参数为:

    • 窗口模式:基于行

    • 窗口大小:50(如果您想在仪表板中使用 50 个数据点)

    • Window Every:1(这决定了更新图表的频率)

    • 窗口限制:0

  3. 在组件面板中,您需要选择您选择的组件并使用您刚刚创建的数据源作为“数据源”。 需要设置的参数如下:

    • 执行时不要阻塞 UI:是的

    • 预执行前清除:错误

  4. 创建前端布局并将组件绑定到布局 HTML 对象。

【讨论】:

    猜你喜欢
    • 2015-07-07
    • 2014-08-21
    • 2016-05-29
    • 2018-08-30
    • 2022-01-15
    • 2018-08-05
    • 2015-09-25
    • 2023-03-22
    • 1970-01-01
    相关资源
    最近更新 更多