1

我已经使用 Cygnus 在 Orion ContextBroker 和 Cosmos BigData 之间建立了订阅,当对 Orion 进行更新时,数据会正确地保存在 Cosmos 中。

但我想分析 Cosmos 中的数据并将结果返回给 Orion,最后从“外部”访问 Orion 中的结果数据。

如何做到这一点?当然,我希望我构建的解决方案尽可能“自动化”,但大多数情况下我只是想解决这个问题。

任何建议都非常感谢!

4

1 回答 1

0

作为一般响应(问题也很笼统;),您需要一个访问存储在 Cosmos 中的信息的进程(使用 HDFS API - 例如 WebHDFS 或 HttpFs-、Hive 查询、Hadoop 之上的一般 MapReduce 作业等),然后实现 Orion 实现的 NGSI API 的客户端,以便根据您从 Cosmos 检索到的信息将上下文元素注入 Orion。Orion API 中执行此操作的关键操作是updateContext

自动化程度取决于您如何实施该流程。它可以像你想要的那样自动化。

编辑:考虑到这个答案评论,我会尝试添加更多细节。

我的意思是开发一个实现以下行为的软件(我们称之为 APOS -A Piece Of Software):

  1. APOS 将从 Cosmos 提供的任何接口中抓取数据,即 WebHDFS/HttpFs、Hive、MapReduce 作业等。
  2. APOS 将处理数据以产生一些结果
  3. APOS 将使用Orion 用户手册中描述的 Orion REST API 将该结果注入 Orion 。updateContext操作对于该任务特别有用。从客户端-服务器的角度来看,Orion 是公开 REST API 的服务器,而 APOS 是与该服务器交互的客户端。

如何实现此 APOS 以及如何编排从 1 到 3 的流程完全取决于您(例如,它可以在整个午夜以批处理模式运行,由门户网站上的用户交互触发等)。

目前,鉴于上述步骤 1 到 3 的每个特定实现都不同并且取决于用例,因此 FI-WARE 不提供任何将 Cosmos 数据转换为 NGSI 的通用启用程序。但是,请注意,有一个名为Cygnus的软件组件实现了另一种方式:从 NGIS 到 Cosmos。

于 2014-07-29T17:59:11.323 回答