我怀疑如何在Cygnus订阅Orion Context Broker的架构中持久保存数据,然后Cygnus必须在Cosmos中保留数据。是否有必要实现自定义WebHDFS客户端以将数据从Cygnus保存到Cosmos,或者如果我们通过CLI配置Cosmos,是否可以自动存储?在阅读了一些文档之后,我不知道是否可以通过使用CLI进行配置或者如果需要自定义客户端来完成此“最后一步”。何时可能不需要自定义WebHDFS客户端?
答案 0 :(得分:1)
如上所述,Cygnus订阅Orion,以便在任何属性发生变化时接收有关某些所需实体的通知。
那会怎么样? Cygnus使用WebHDFS REST API将数据写入Cosmos HDFS,通常是每个通知实体的文件。最初,如果文件未退出,则使用REST API中的“create”操作;如果它已经存在,则使用“追加”操作。
上面的文件在哪里创建? Cygnus HDFS文件路径如下:
/user/<your_cosmos_username>/<notified_fiware_service>/<notified_fiware_servicePath>/<built_destination>/<built_destination>.txt
notified_fiware_service
和notified_fiware_servicePath
是Orion在通知中发送的Http标头;它们是关于如何组织数据的。 built_destination
通常是将通知的entityId
和entityType
联系起来的结果。
最后,your_cosmos_username
是FIWARE LAB Cosmos部署中的Linux和HDFS用户名。这是通过在http://cosmos.lab.fi-ware.org/cosmos-gui/使用您的FIWARE LAB凭据登录获得的。你生命中只需要这一次;比方说,它是一个创建Unix用户名和HDFS用户空间的配置步骤。