cygnus で構成された Context Broker があり、発生している問題は非常に奇妙です。
これは、Context Broker に新しいタイプの要素を挿入したときに発生し、その要素を cosmos に送信するためのサブスクリプションを持っています。Cygnus はそれを適切に送信し、対応する hdfs ファイルを cosmos に作成しますが、cosmos が Hive テーブルを作成しようとするとエラーが発生します。
それがシグナスのログに書かれていることです。
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
これら 2 つのイベントの間に、hdfs に追加する必要があるすべてのアクションが追加されますが、エラーが発生するまで追加されません。
Cygnus のバージョン: 0.8.2
オープンコスモスを使用しています。