如何知道Cosmos中的Cygnus通知表名称?

时间:2014-06-13 12:04:24

标签: fiware fiware-orion fiware-cygnus

我正在使用Cygnus通过httpfs向Ormos发送Orion Context Broker通知。

在Hive历史记录中存储发送到Cosmos的数据的位置?什么是存储Cygnus数据的表的名称?

1 个答案:

答案 0 :(得分:0)

Cygnus在Cosmos中持久保存的Orion上下文数据存储在纯文本HDFS文件中。如果结构合理,这些文件的内容可以加载到Hive表中,可以使用类似SQL的语言HiveQL查询。

创建Hive表的方式取决于您使用的Cygnus版本:

  • Cygnus 0.1 :您必须自己创建Hive外部表。为了做到这一点:
    1. 使用您的SSH凭据登录Cosmos Head节点。
    2. 键入hive
    3. 调用Hive CLI
    4. 添加以下HiveQL语句:
      create external table <table_name> (recvTimeTs bigint, recvTime string, entityId string, entityType string, attrName string, attrType string, attrValue string) row format delimited fields terminated by '|' location '/user/<myusername>/<mydataset>/';
    5. 请观察所有实体数据存储在同一个唯一的Hive表中。这是可能的,因为HDFS文件/ Hive表中的所有行/行都引用属于实体标识符或特定类型的特定类型的属性。
  • Cygnus 0.2 :自动创建上面的Hive外部表。表名为<myusername>_<mydataset>。与在Cygnus 0.1中一样,所有实体数据都存储在相同且唯一的Hive表中。
  • Cygnus 0.3或更高:在撰写此回复的那一刻,Cygnus 0.3尚未发布,但在此版本中,Orion数据不会通过添加新的行/行来专门保留每个属性,并且期望添加包含完整实体的属性列表的新行/行的可能性。在这种情况下,由于行/行可能没有相同的维度,因此每个实体都会创建一个Hive表。