我已将WSO2 IoT服务器Connected Cup样本设备代理导入Eclipse IDE,并为MQTT代理禁用设备身份验证,以便于测试。然后,我在设备管理控制台中创建了一个连接杯样本设备,运行设备代理,并期望在分析视图中看到一些数据。但什么都没发生。当我查看代理控制台时,它声明该通道是与设备建立的,因此我得出结论,消息通常从设备传输到代理,从代理传输到分析服务器接收器。但后来,我看到分析服务器控制台中抛出了以下异常
[2017-04-04 14:55:29,918] [物联网分析]错误{org.wso2.carbon.analytics.dataservice.core.indexing.AnalyticsDataIndexer} - 查找表架构时出错:[ - 1234: DEVICE_COFFEELEVEL_SUMMARY]不存在 org.wso2.carbon.analytics.datasource.commons.exception.AnalyticsTableNotAvailableException:[ - 1234:DEVICE_COFFEELEVEL_SUMMARY]不存在
并在核心组件控制台中
[2017-04-04 14:55:29,927] [] ERROR - 带有路径[/ connectedcup]的上下文中servlet [CXFServlet]的StandardWrapperValve Servlet.service()引发了异常 java.lang.RuntimeException:org.apache.cxf.interceptor.Fault:无法搜索表 - DEVICE_COFFEELEVEL_SUMMARY表示租户ID:-1234查询:deviceId:t4l4gf267ara AND deviceType:connectedcup AND time:[1491306929 TO 1491310529]。
看起来数据库中缺少DEVICE_COFFEELEVEL_SUMMARY表或类似的东西。任何想法可能是造成这种错误的原因?
答案 0 :(得分:1)
如果未创建摘要表,则可能发生这种情况。您可以通过从分析控制台(https://ip:9444/carbon)[1]运行spark脚本来手动触发表创建。
另外,通过在控制台中访问数据资源管理器来检查设备是否已发布数据。
[1] https://docs.wso2.com/display/DAS300/Scheduling+Batch+Analytics+Scripts