我已经使用 Cygnus 在 Orion ContextBroker 和 Cosmos BigData 之间建立了订阅,当对 Orion 进行更新时,数据会正确地保存在 Cosmos 中。
但我想分析 Cosmos 中的数据并将结果返回给 Orion,最后从“外部”访问 Orion 中的结果数据。
如何做到这一点?当然,我希望我构建的解决方案尽可能“自动化”,但大多数情况下我只是想解决这个问题。
任何建议都非常感谢!
我已经使用 Cygnus 在 Orion ContextBroker 和 Cosmos BigData 之间建立了订阅,当对 Orion 进行更新时,数据会正确地保存在 Cosmos 中。
但我想分析 Cosmos 中的数据并将结果返回给 Orion,最后从“外部”访问 Orion 中的结果数据。
如何做到这一点?当然,我希望我构建的解决方案尽可能“自动化”,但大多数情况下我只是想解决这个问题。
任何建议都非常感谢!
作为一般响应(问题也很笼统;),您需要一个访问存储在 Cosmos 中的信息的进程(使用 HDFS API - 例如 WebHDFS 或 HttpFs-、Hive 查询、Hadoop 之上的一般 MapReduce 作业等),然后实现 Orion 实现的 NGSI API 的客户端,以便根据您从 Cosmos 检索到的信息将上下文元素注入 Orion。Orion API 中执行此操作的关键操作是updateContext。
自动化程度取决于您如何实施该流程。它可以像你想要的那样自动化。
编辑:考虑到这个答案评论,我会尝试添加更多细节。
我的意思是开发一个实现以下行为的软件(我们称之为 APOS -A Piece Of Software):
如何实现此 APOS 以及如何编排从 1 到 3 的流程完全取决于您(例如,它可以在整个午夜以批处理模式运行,由门户网站上的用户交互触发等)。
目前,鉴于上述步骤 1 到 3 的每个特定实现都不同并且取决于用例,因此 FI-WARE 不提供任何将 Cosmos 数据转换为 NGSI 的通用启用程序。但是,请注意,有一个名为Cygnus的软件组件实现了另一种方式:从 NGIS 到 Cosmos。