Flexible Dataset Integrator (fdi)

FDI 帮助数据生产者和处理者在孤立的异构数据集直接建立连接。 将这些数据组装、组织和集成到自描述的、模块化的、分层的、持久的、可引用的产品中,使各数据集保持自己的特征并且易于访问。

功能

使用 FDI 可以将不同格式的数据打包成常规和模块化数据 产品,包括注释(描述、类型、单位、默认值和有效性规范)和元数据(关于数据的数据)。 可以使用基本数据结构(例如序列(例如 Python list)、映射(例如 Python dict)或自定义类)来制作产品的数组或表格。 FDI 适用嵌套和高度复杂的结构

FDI 数据对象能便捷地访问 API,使用方式类似于标准 Python 库的 API,便于直接在 FDI 上进行脚本编写和数据挖掘。

所有级别的 FDI 产品及其组成部分(数据集或元数据)可使用人性化的标准格式(JSON)进行移植(可序列化),允许不同平台上的机器数据处理器解析、访问内部组件或重新构建产品。即使是只有网络浏览器的人类也能理解数据。

主要容器类的 toString() 方法输出复杂数据的格式友好的文本描述(通常是表格),便于查看数据。

大多数 FDI 产品和组件都实现了事件发送器和侦听器接口,有助于构建可扩展的数据驱动处理管道和实现实时数据可视化。

提供 FDI 存储“池”(基于文件、网络或内存)作为参考,用于 1)可查询数据存储,2)所有持久数据都可以通过 URN(通用资源名称)进行引用。

FDI 提供 Context 类型的产品,以便其他产品的引用可以成为组件,从而能够封装丰富、深入、复杂和可访问的上下文数据,同时保持轻量级。

对于数据处理器,实现了带有 RESTful API 的 HTML 服务器(称为处理节点服务器,PNS)以连接数据处理模块。 PNS 特别适用于管道中的 Docker 容器混合遗留软件或不兼容环境的软件,以形成完整的数据处理管道。

这个包试图满足科学观察和数据处理的要求,并受到欧洲航天局赫歇尔公共科学系统交互式分析包(用 Java 编写,用 Jython 编写脚本)的数据模型的启发,并设计了尽可能兼容的 API。

FDI Python 包

  • 基本数据模型在包 dataset 中定义。

  • 持久数据访问、引用、查询和通用资源名称在包 pal 中定义。

  • 参考 REST API 服务器,旨在使用数据模型与数据处理 docker 通信,位于包 pns 中。

  • 参考 REST API 服务器,用于在服务器上的池和数据用户之间提供 Web 界面,位于包 http pool 中。

API 文档

_images/packages_dataset.png _images/packages_pal.png

索引和表格