在Pentaho仪表板上接收和显示MQTT流
我试图在Pentaho仪表板中显示(和处理)传入的MQTT消息,使用它们的CCC图表 我尝试设置一个kettle转换,然后将其上传到Pentaho服务器,并将其用作数据源(我测试了在spoon中运行转换,结果成功了,所以问题应该在其他地方)。当我尝试显示仪表板时,它会告诉我“错误处理组件(组件名称)”,而服务器会引发此异常:在Pentaho仪表板上接收和显示MQTT流,mqtt,pentaho,pentaho-data-integration,pentaho-cde,Mqtt,Pentaho,Pentaho Data Integration,Pentaho Cde,我试图在Pentaho仪表板中显示(和处理)传入的MQTT消息,使用它们的CCC图表 我尝试设置一个kettle转换,然后将其上传到Pentaho服务器,并将其用作数据源(我测试了在spoon中运行转换,结果成功了,所以问题应该在其他地方)。当我尝试显示仪表板时,它会告诉我“错误处理组件(组件名称)”,而服务器会引发此异常: Caused by: org.pentaho.reporting.libraries.resourceloader.ResourceCreationException: U
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实现可以解决此问题,但这不是我所需要的。我发现使用websocket实现可以解决此问题,但这不是我所需要的 对于感兴趣的人: 基本上,它使用java脚本订阅MQTT代理并接收数据,然后您可以在仪表板中使用这些数据。整个代码可以简单地注入到您的电路板设置中,并随时可以使用
它非常简单易懂。解决这个问题的正确方法是使用数据服务 以下是我的想法: 您可以使用Kettle接收MQTT数据,并在转换中对其进行处理: 通过右键单击->数据服务->新建,可以将数据服务附加到任何步骤 服务名称需要在所有数据服务中唯一,并且数据服务类型需要设置为流: 整个转换需要保存到Pentaho存储库(基本上是Pentaho的内部文件系统) 通过此操作,您可以按照以下说明创建仪表板: 要为您细分:
- 窗口模式:基于行
- 窗口大小:50(如果您希望在仪表板中使用50个数据点)
- 窗口间隔:1(这决定了图形更新的频率)
- 窗口限制:0
- 执行时不阻止UI:True
- 执行前清除:False
请不要编辑问题以包含解决方案。如果您有一个解决方案,请将其添加为适当的答案(包括足够的细节以便对其他人有用),然后可以对其进行投票并将其标记为接受。这基本上是一个仅链接的答案,当链接断开时,答案将变得无用。请至少用链接所指内容的基本细节更新答案。