Modello Time Series in Azure Time Series Insights Gen2

Nota

Il servizio Time Series Insights verrà ritirato il 7 luglio 2024. Considerare di eseguire la migrazione degli ambienti esistenti a soluzioni alternative il prima possibile. Per altre informazioni sulla deprecazione e sulla migrazione, visitare la nostra documentazione.

Questo articolo descrive il modello Time Series, le funzionalità e come iniziare a compilare e aggiornare i propri modelli nell'ambiente Azure Time Series Insights Gen2.

Suggerimento

Riepilogo

I dati raccolti dai dispositivi IoT non includono in genere informazioni contestuali, cosa che rende difficile trovare e analizzare rapidamente i sensori. La scopo principale del modello di serie temporale è quello di semplificare la ricerca e l'analisi dei dati IoT e Time Series. Raggiunge questo obiettivo consentendo la cura, la manutenzione e l'arricchimento dei dati della serie temporale per preparare set di dati di livello consumer all'analisi.

Scenario: il nuovo forno intelligente di Contoso

Si consideri lo scenario fittizio di un forno intelligente Contoso. In questo scenario si supponga che ogni forno intelligente Contoso abbia cinque sensori di temperatura, uno per ognuno dei quattro fornelli principali e uno per il forno stesso. Fino a poco tempo fa, ogni sensore di temperatura Contoso ha inviato, archiviato e visualizzato i dati singolarmente. Per il monitoraggio dell'appliance da cucina, Contoso si basava su grafici di base, uno per ogni singolo sensore.

Sebbene Contoso fosse soddisfatto della soluzione iniziale di dati e visualizzazione, si sono evidenziate diverse limitazioni:

  • I clienti volevano sapere quanto si sarebbe riscaldato il forno nel complesso quando la maggior parte dei fornelli sono accesi. Contoso ha avuto più difficoltà ad analizzare e presentare una risposta unica sulle condizioni complessive del forno.
  • I tecnici di Contoso volevano verificare che il fatto che i principali fornelli siano accesi simultaneamente non provochi difetti di alimentazione. Sono sorte delle difficoltà nel fare riferimenti incrociati a sensori di temperatura e tensione associati tra loro e a come individuar questi nell'archivio.
  • Il team di controllo qualità Contoso voleva controllare e confrontare la cronologia tra due versioni del sensore. Si sono presentate delle difficoltà nello stabilire quali dati appartenevano alla versione del sensore.

Senza la possibilità di strutturare, organizzare e definire il modello di serie temporale del forno intelligente, ogni sensore di temperatura ha mantenuto dei dati dislocati, isolati e meno informativi. La trasformazione di questi dati in informazioni dettagliate interattive era più difficile perché ogni set di dati era isolato dagli altri.

Queste limitazioni hanno rivelato l'importanza degli strumenti di aggregazione e visualizzazione dei dati intelligenti per il nuovo forno di Contoso:

  • La visualizzazione dei dati risulta utile quando è possibile associare e combinare i dati in una visualizzazione pratica. Un esempio mostra i sensori di tensione insieme ai sensori di temperatura.
  • La gestione dei dati multidimensionali per diverse entità insieme alle funzionalità di confronto, zoom e intervallo di tempo può risultare difficile da eseguire.

Il modello Time Series offre una soluzione pratica per molti degli scenari riscontrati in questo esempio fittizio:

Esempio di grafico di forno intelligente del modello Time Series

  • Il modello Time Series svolge un ruolo fondamentale nelle query e nella navigazione perché contestualizza i dati consentendo di stabilire confronti tra intervalli di tempo e tra sensori e tipi di dispositivo. (A)
  • I dati vengono ulteriormente contestualizzati perché i dati salvati in modo permanente nel modello Time Series mantengono i calcoli delle query delle serie temporali come variabili e vengono riutilizzati in fase di query.
  • Il modello Time Series organizza e aggrega i dati per migliorare le funzionalità di visualizzazione e gestione. (B)

Funzionalità chiave

Allo scopo di semplificare e agevolare la gestione della contestualizzazione delle serie temporali, il modello di serie temporale abilita le funzionalità seguenti in Anteprima di Azure Time Series Insights Gen2. Consente di:

  • Creare e gestire formule o calcoli sfruttando le funzioni scalari, le operazioni di aggregazione e così via.
  • Definire relazioni padre-figlio per abilitare la navigazione, la ricerca e il riferimento.
  • Definire le proprietà associate alle istanze, definite campi di istanza, e usarle per creare gerarchie.

Componenti

Il modello Time Series include tre componenti principali:

Questi componenti vengono combinati per specificare un modello serie temporale e per organizzare i dati.

Grafico di panoramica del modello Time Series

È possibile creare e gestire un modello Time Series tramite lo strumento di esplorazione di Azure Time Series Insights. Le impostazioni del modello Time Series possono essere gestite tramite l'API Impostazioni modello.

Istanze di modello serie temporale

Le istanze del modello Time Series sono rappresentazioni virtuali delle serie temporali stesse.

Nella maggior parte dei casi, le istanze vengono identificate in modo univoco da deviceId o assetId che vengono salvate come ID serie temporali.

Alle istanze sono associate informazioni descrittive denominate proprietà dell'istanza, ad esempio un ID serie temporale, un tipo, un nome, una descrizione, gerarchie e campi di istanza. Come minimo, le proprietà delle istanze includono informazioni sulla gerarchia.

I campi dell'istanza sono una raccolta di informazioni descrittive che possono includere valori per i livelli di gerarchia, nonché produttore, operatore e così via.

Dopo aver configurato un'origine evento per l'ambiente Azure Time Series Insights Gen2, le istanze vengono individuate e create automaticamente in un modello serie temporale. Le istanze possono essere create o aggiornate tramite lo strumento di esplorazione di Azure Time Series Insights usando le query del modello Time Series.

Esempio di istanza del modello Time Series

Proprietà dell'istanza

Le istanze vengono definite da timeSeriesId, typeId, name, description, hierarchyIds e instanceFields. Ogni istanza esegue il mapping a un solo tipo e a una o più gerarchie.

Proprietà Descrizione
timeSeriesId ID univoco della serie temporale a cui è associata l'istanza. Nella maggior parte dei casi le istanze vengono identificate in modo univoco da una proprietà come deviceId o assetId. In alcuni casi, è possibile usare un ID composito più specifico che combina fino a 3 proprietà.
typeId L'ID stringa univoca con distinzione tra maiuscole e minuscole del tipo di modello Time Series a cui è associata l'istanza. Per impostazione predefinita, tutte le nuove istanze individuate vengono associate a un tipo predefinito.
name La proprietà name è facoltativa e fa distinzione tra maiuscole/minuscole. Se il nome non è disponibile, questo è impostato in maniera predefinita su timeSeriesId. Se viene specificato un nome, timeSeriesId è ancora disponibile nell'area.
description Descrizione di testo dell'istanza.
hierarchyIds Definisce le gerarchie a cui appartiene l'istanza.
instanceFields Le proprietà di un'istanza e i dati statici che definiscono un'istanza. Definiscono i valori delle proprietà non di gerarchia o di gerarchia, supportando anche l'indicizzazione per eseguire operazioni di ricerca.

Nota

Le gerarchie vengono compilate usando i campi dell'istanza. È possibile aggiungere altri instanceFields per altre definizioni di proprietà dell'istanza.

Le istanze hanno la seguente rappresentazione JSON:

{
  "timeSeriesId": ["PU2"],
  "typeId": "545314a5-7166-4b90-abb9-fd93966fa39b",
  "hierarchyIds": ["95f0a8d1-a3ef-4549-b4b3-f138856b3a12"],
  "description": "Pump #2",
  "instanceFields": {
    "Location": "Redmond",
    "Fleet": "Fleet 5",
    "Unit": "Pump Unit 3",
    "Manufacturer": "Contoso",
    "ScalePres": "0.54",
    "scaleTemp": "0.54"
  }
}

Suggerimento

Per il supporto per la creazione, la lettura, l'aggiornamento e l'eliminazione (CRUD - Create, Read, Update, Delete) dell'API di istanza, vedere l'articolo Query sui dati e la documentazione API REST dell'istanza.

Gerarchie di modelli serie temporale

Le gerarchie del modello Time Series organizzano le istanze specificando i nomi e le relazioni delle proprietà.

È possibile configurare più gerarchie in un determinato ambiente Azure Time Series Insights Gen2. Un'istanza del modello serie temporale può eseguire il mapping a una singola gerarchia o a più gerarchie (relazione molti-a-molti).

Esempio di gerarchia di modelli Time Series

Definizione della gerarchia

Le gerarchie vengono definite da ID gerarchia, nome e origine.

Proprietà Descrizione
id Identificatore univoco per la gerarchia, che viene usato, ad esempio, quando si definisce un'istanza.
name Stringa utilizzata per specificare un nome per la gerarchia.
source Specifica la gerarchia o il percorso dell'organizzazione, ovvero un ordine padre-figlio dall'alto verso il basso della gerarchia che gli utenti intendono creare. Le proprietà padre-figlio eseguono il mapping dei campi di istanza.

Le gerarchie sono rappresentate in JSON come segue:

{
  "hierarchies": [
    {
      "id": "6e292e54-9a26-4be1-9034-607d71492707",
      "name": "Location",
      "source": {
        "instanceFieldNames": [
          "state",
          "city"
        ]
      }
    },
    {
      "id": "a28fd14c-6b98-4ab5-9301-3840f142d30e",
      "name": "ManufactureDate",
      "source": {
        "instanceFieldNames": [
          "year",
          "month"
        ]
      }
    }
  ]
}

Nell'esempio JSON precedente:

  • Location definisce una gerarchia con padre states e figlio cities. Ogni location può avere più states, che a sua volta può avere più cities.
  • ManufactureDate definisce una gerarchia con padre year e figlio month. Ogni ManufactureDate può avere più years, che a sua volta può avere più months.

Suggerimento

Per il supporto per la creazione, la lettura, l'aggiornamento e l'eliminazione dell'API Hierarchy (CRUD - Create, Read, Update, Delete), vedere l'articolo Query sui dati e la documentazione API REST Hierarchy.

Esempio di gerarchia

Si consideri un esempio in cui la gerarchia H1 ha building, floor e room come parte della definizione instanceFieldNames:

{
  "id": "aaaaaa-bbbbb-ccccc-ddddd-111111",
  "name": "H1",
  "source": {
    "instanceFieldNames": [
      "building",
      "floor",
      "room"
    ]
  }
}

Dato che i campi dell'istanza usati nella definizione precedente e in diverse serie temporali, gli attributi e i valori della gerarchia vengono visualizzati come illustrato nella tabella seguente:

ID serie temporale Campi di istanza
ID1 "building" = "1000", "floor" = "10", "room" = "55"
ID2 "building" = "1000", "room" = "55"
ID3 "floor" = "10"
ID4 "building" = "1000", "floor" = "10"
ID5 Non è impostato nessun "building", "floor" o "room"

L'ID1 e l'ID4 di Time Series vengono visualizzati come parte della gerarchia H1 nello strumento di esplorazione di Azure Time Series Insightsperché hanno parametri di compilazione, limite minimo e stanza completamente definiti e ordinati correttamente.

Gli altri sono classificati in Istanze senza elemento padre perché non sono conformi alla gerarchia di dati specificata.

Tipi di modelli serie temporale

I tipi di modello serie temporale consentono di definire variabili o formule per eseguire calcoli. I tipi sono associati a un'istanza specifica.

Un tipo può avere una o più variabili. Un'istanza di modello Time Series, ad esempio, potrebbe essere di tipo Temperature Sensor, che è costituito dalle variabili avg temperature, min temperature e max temperature.

Esempio del tipo di modello Time Series

Suggerimento

Per il supporto per la creazione, la lettura, l'aggiornamento e l'eliminazione (CRUD - Create, Read, Update, Delete) dell'API, leggere l'articolo Query sui dati e la documentazione dell'API REST Type.

Proprietà del tipo

I tipi di modello Time Series sono definiti da ID, nome, descrizionee variabili.

Proprietà Descrizione
id ID stringa univoco con distinzione tra maiuscole e minuscole per il tipo.
name Stringa utilizzata per specificare un nome per il tipo.
description Descrizione stringa per il tipo.
variables Specificare le variabili associate al tipo.

I tipi sono conformi all'esempio JSON seguente:

{
  "types": [
    {
      "id": "1be09af9-f089-4d6b-9f0b-48018b5f7393",
      "name": "DefaultType",
      "description": "Default type",
      "variables": {
        "EventCount": {
          "kind": "aggregate",
          "value": null,
          "filter": null,
          "aggregation": {
            "tsx": "count()"
          }
        },
        "Interpolated Speed": {
          "kind": "numeric",
          "value": {
              "tsx": "$event['Speed-Sensor'].Double"
          },
          "filter": null,
          "interpolation": {
              "kind": "step",
              "boundary": {
                  "span": "P1D"
              }
          },
          "aggregation": {
              "tsx": "right($value)"
          }
        }
      }
    }
  ]
}

I tipi di modello Time Series possono avere molte variabili che specificano regole di formula e calcolo per gli eventi. Approfondire l'argomento su come definire le variabili del modello Time Series

Passaggi successivi