Introduction

HNR to ZERO supports ingress of measurement data via HTTP and S3 file delivery.

The platform scans registered s3 locations periodically and ingests file based datasets as part of data ingress.

Collectors are configured to transform ingress measurements to the HNR to ZERO model.

Untitled

Data model

On ingress data is normalised to the model below.

Architecture - Concepts - Data Model.drawio.png

On ingestion ‣ normalises data to this domain model, creates relationships and builds data aggregation.

Through creation of these relationships ‣ can build up a multi-dimensional view of the datasets.

CSV file format

Ingress supports ingestion of CSV file format for each resource of the model.

Activities

attribute description example value notes
sourceUnqiueId The unique identified for this row. acme-nea-cdn-big-time-television-2023-05-12T15:18:05.000Z a unique id for the row across all datasets. if not supplied, it will be defaulted to joining providerId, meterId, eventId, startAt.
providerId The provider of the data (could be a company, or a system). acme mandatory
meterId The meter measuring the activity. nea-cdn mandatory
eventId The event the data relates to (could like a channel or a content title). big-time-television mandatory
startAt The activity start time in ISO8601 format. 2023-05-12T15:18:05.000Z mandatory
endAt The activity end time in ISO8601 format. 2023-05-12T15:19:05.000Z optional if duration exists
duration Activity duration in milliseconds. 761232 optional if endAt exists
location Location of the activity, use a path based structure. region:eu/country:uk optional
measurement.watts Watt power reading. 261 optional
measurement.* Other measurements (see supplemental values below). zero or more values
(watts is an example)

Supplemental values can be added to the data through addition of a new and unique name and value pair.

Example

sourceUnqiueId,providerId,meterId,eventId,startAt,endAt,measurement.watts
acme-nea-cdn-big-time-television-2023-10-28T20:03:08.000Z,acme-cdn,nea-cache-1a,big-time-television,2023-10-28T20:03:08.000Z,2023-10-28T20:04:08.000Z,264
acme-nea-cdn-big-time-television-2023-10-28T20:04:08.000Z,acme-cdn,nea-cache-1a,big-time-television,2023-10-28T20:04:08.000Z,2023-10-28T20:05:08.000Z,262
acme-nea-cdn-big-time-television-2023-10-28T20:05:08.000Z,acme-cdn,nea-cache-1a,big-time-television,2023-10-28T20:05:08.000Z,2023-10-28T20:06:08.000Z,268
acme-nea-cdn-big-time-television-2023-10-28T20:06:08.000Z,acme-cdn,nea-cache-1a,big-time-television,2023-10-28T20:06:08.000Z,2023-10-28T20:07:08.000Z,248
acme-nea-cdn-big-time-television-2023-10-28T20:07:08.000Z,acme-cdn,nea-cache-1a,big-time-television,2023-10-28T20:07:08.000Z,2023-10-28T20:08:08.000Z,259

Meters

An optional data point which is used to describe the meter under observation.

attribute description example value notes
meterId The meter measuring the activity. nea-cache-1a mandatory
providerId The provider of the data (could be a company, or a system). acme mandatory
purpose What is the purpose of the meter. UK Point of Presence mandatory
location Where is the activity geographically located. region:eu/country:uk optional

Supplemental values can be added to the data through addition of a new and unique name and value pair.

Example