Хранить в Cosmos данные, поступающие с Ориона на Лебедь

У меня есть одно сомнение относительно того, как сохранять данные в архитектуре, где Cygnus подписан на Orion Context Broker, а затем Cygnus должен сохранять данные в Cosmos. Нужно ли реализовывать собственный клиент WebHDFS для сохранения данных из Cygnus в Cosmos или они могут автоматически сохраняться, если мы настроим Cosmos через интерфейс командной строки? Прочитав некоторую документацию, я не знаю, можно ли выполнить этот «последний шаг» с помощью настройки с помощью CLI или нужен собственный клиент. Когда может не понадобиться собственный клиент WebHDFS?


person jvadillo    schedule 28.04.2015    source источник


Ответы (1)


Как уже говорилось, Cygnus подписывается на Orion, чтобы получать уведомления об определенных желаемых сущностях при изменении любого из их атрибутов.

Что происходит тогда? Cygnus использует REST API WebHDFS для записи данных в Cosmos HDFS, обычно это файл для каждого уведомленного объекта. Изначально, если файл не закрывается, используется операция «создать» из REST API; если он уже существует, используется операция «добавить».

Где создаются вышеуказанные файлы? Путь к файлам Cygnus HDFS:

/user/<your_cosmos_username>/<notified_fiware_service>/<notified_fiware_servicePath>/<built_destination>/<built_destination>.txt

notified_fiware_service и notified_fiware_servicePath — это заголовки Http, отправляемые Orion в уведомлении; они о том, как организовать данные. built_destination обычно является результатом объединения уведомленных entityId и entityType.

Наконец, your_cosmos_username — это ваше имя пользователя Linux и HDFS в развертывании FIWARE LAB Cosmos. Это достигается путем входа в систему с вашими учетными данными FIWARE LAB на http://cosmos.lab.fi-ware.org/cosmos-gui/. Вы должны сделать это только один раз в жизни; это, скажем, шаг подготовки, который создает имя пользователя Unix и ваше пользовательское пространство HDFS.

person frb    schedule 29.04.2015
comment
Большое спасибо! Итак, как вы сказали, я выполню только этап подготовки без программирования какого-либо конкретного интерфейса командной строки. - person jvadillo; 29.04.2015