У нас есть брокер контекста, настроенный с помощью cygnus, и проблема, с которой мы сталкиваемся, довольно странная.
Это происходит, когда я вставил элемент нового типа в Context Broker, и у нас есть подписка на отправку этого элемента в космос. Cygnus отправляет его правильно и создает соответствующий файл hdfs в космосе, но когда космос пытается создать таблицу Hive, возникает ошибка.
Об этом говорит журнал cygnus.
05 oct 2015 12:51:43,777 INFO [SinkRunner-PollingRunner-DefaultSinkProcessor]
(com.telefonica.iot.cygnus.backends.hdfs.HDFSBackendImpl.provisionHiveTable:225)
- Creating Hive external table=[table_name]
Через несколько часов получаем следующее сообщение:
05 oct 2015 18:00:02,489 ERROR [SinkRunner-PollingRunner-DefaultSinkProcessor]
(com.telefonica.iot.cygnus.backends.hive.HiveBackend.doCreateTable:77)
- Runtime error (The Hive table cannot be created.
Hive query='create external table [table_name] (columns) row format serde
'org.openx.data.jsonserde.JsonSerDe' location '[hdfs_folder_location]''.
Details=org.apache.thrift.transport.TTransportException)
05 oct 2015 18:00:02,490 WARN [SinkRunner-PollingRunner-DefaultSinkProcessor]
(com.telefonica.iot.cygnus.backends.hdfs.HDFSBackendImpl.provisionHiveTable:237)
- The HiveQL external table could not be created, but Cygnus can continue working... Check your Hive/Shark installation
Между этими двумя событиями все действия, которые должны быть добавлены в hdfs, не будут добавлены, пока мы не получим ошибку.
Версия Cygnus: 0.8.2
Мы используем открытый космос.