2

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

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

4

1 回答 1

0

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

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

  • Cygnus 0.1:您必须自己创建 Hive 外部表。为了做到这一点:
    1. 使用您的 SSH 凭据登录 Cosmos 头节点。
    2. 通过键入调用 Hive CLIhive
    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 表。
于 2014-06-13T13:00:42.753 回答