【问题标题】:How to know the Cygnus notifications table name in Cosmos?如何知道 Cosmos 中的 Cygnus 通知表名称?
【发布时间】:2014-06-13 12:04:23
【问题描述】:

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

Hive 历史中发送到 Cosmos 的数据存储在哪里?存储 Cygnus 数据的表的名称是什么?

【问题讨论】:

    标签: fiware fiware-orion fiware-cygnus


    【解决方案1】:

    Cygnus 在 Cosmos 中持久化的 Orion 上下文数据存储在纯文本 HDFS 文件中。如果结构正确,这些文件的内容可以加载到 Hive 表中,这些表可以使用 HiveQL(一种类似 SQL 的语言)进行查询。

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

    • Cygnus 0.1:您必须自己创建 Hive 外部表。为了做到这一点:
      1. 使用您的 SSH 凭据登录 Cosmos 头节点。
      2. 通过键入 hive 调用 Hive CLI
      3. 添加以下 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>/';
      4. 请注意所有实体数据都存储在同一个且唯一的 Hive 表中。这是可能的,因为 HDFS 文件/Hive 表中的所有行/行都引用了属于实体标识符或特定类型的特定类型的属性。
    • Cygnus 0.2:上面的Hive外部表是自动创建的。表名是<myusername>_<mydataset>。与 Cygnus 0.1 一样,所有实体数据都存储在同一个且唯一的 Hive 表中。
    • Cygnus 0.3 或更高版本:在撰写此回复时,Cygnus 0.3 尚未发布,但在此类发布中,不会通过为每个属性添加新行/行来专门保留 Orion 数据,并且可以添加包含完整实体属性列表的新行/行。在这种情况下,由于行/行的维度可能不同,因此设想为每个实体创建一个 Hive 表。

    【讨论】:

      猜你喜欢
      • 2018-07-03
      • 1970-01-01
      • 2011-09-06
      • 2022-08-24
      • 2011-03-08
      • 1970-01-01
      • 2022-01-19
      • 1970-01-01
      • 2019-09-13
      相关资源
      最近更新 更多