Modelo de Série Temporal no Azure Time Series Insights Gen2
Observação
O serviço Time Series Insights será desativado em 7 de julho de 2024. Considere migrar ambientes existentes para soluções alternativas o mais rápido possível. Para obter mais informações sobre a substituição e a migração, visite nossa documentação.
Este artigo descreve o Modelo de Série Temporal, os recursos e como começar a criar e atualizar seus próprios modelos no ambiente do Azure Time Series Insights Gen2.
Dica
- Saiba como trabalhar com o Modelo de Série Temporal usando o Gerenciador do Time Series Insights.
Resumo
Tradicionalmente, os dados que são coletados de dispositivos IoT não têm informações contextuais, o que dificulta encontrar e analisar sensores rapidamente. O principal objetivo do Modelo de Série Temporal é simplificar a localização e a análise de dados de IoT ou de Série Temporal. Esse objetivo é atingido ao permitir a curadoria, a manutenção e o enriquecimento dos dados de série temporal para ajudar a preparar os conjuntos de dados, deixando-os prontos para o consumidor analisar.
Cenário: novo forno inteligente da Contoso
Considere o cenário fictício de um forno inteligente da Contoso. Neste cenário, suponha que cada forno inteligente da Contoso tenha cinco sensores de temperatura, um para cada um dos quatro queimadores principais e outro para o forno. Até recentemente, cada sensor de temperatura da Contoso enviou, armazenou e visualizou seus dados individualmente. Para o monitoramento do seu dispositivo de cozinha, a Contoso dependia de gráficos básicos, um para cada sensor individual.
Embora a Contoso esteja satisfeita com sua solução inicial de dados e visualização, várias limitações se tornaram aparentes:
- Os clientes queriam saber o quão quente o forno em geral ficaria quando a maioria dos queimadores superiores estivesse ligada. A Contoso teve mais dificuldade em analisar e apresentar uma resposta unificada sobre as condições gerais do forno.
- Os engenheiros da Contoso queriam verificar se os principais queimadores que estão sendo usados simultaneamente não resultarão em um consumo ineficiente de energia. Houve dificuldade em fazer referência cruzada de quais sensores de temperatura e voltagem estavam associados entre si e como localizá-los na loja.
- A equipe de garantia de qualidade da Contoso queria auditar e comparar o histórico entre duas versões de sensor. Houve dificuldade em determinar quais dados pertenciam a qual versão do sensor.
Sem a capacidade de estruturar, organizar e definir o modelo de série temporal abrangente do forno inteligente, cada sensor de temperatura manteve os pontos de dados desalocados, isolados e menos informativos. Transformar esses pontos de dados em insights acionáveis foi mais difícil, pois o ciclo de vida de cada conjunto de dados era independe dos outros.
Essas limitações revelaram a importância das ferramentas inteligentes de agregação e visualização de dados para acompanhar o novo forno da Contoso:
- A visualização de dados é útil quando você consegue associar e combinar dados em uma exibição conveniente. Um exemplo é mostrar sensores de tensão junto com sensores de temperatura.
- O gerenciamento de dados multidimensionais para várias entidades juntamente com a comparação, a ampliação e as funcionalidades de intervalo de tempo podem ser difíceis de realizar.
O Modelo de Série Temporal fornece uma solução prática para muitos dos cenários encontrados neste exemplo fictício:
- O Modelo de Série Temporal exerce um papel vital em consultas e navegações porque ele contextualiza dados, permitindo que as comparações sejam desenhadas entre intervalos de tempo e entre os tipos de sensor e de dispositivo. (A)
- Os dados são mais contextualizados porque os dados gravados no Modelo de Série Temporal preservam as computações de consulta de série temporal como variáveis e as reutilizam no momento da consulta.
- O Modelo de Série Temporal organiza e agrega os dados para os recursos aprimorados de gerenciamento e visualização. (B)
Principais recursos
Com o objetivo de simplificar e facilitar o gerenciamento da contextualização da série temporal, o Modelo de Série Temporal habilita os seguintes recursos no Azure Time Series Insights Gen2. Ele ajuda a:
- Criar e gerenciar cálculos ou fórmulas, aproveitando funções escalares, operações de agregação e assim por diante.
- Definir relações pai-filho para habilitar a navegação, pesquisa e referência.
- Definir as propriedades que estão associadas com as instâncias, definidas como campos de instância, e usá-las para criar hierarquias.
Componentes
O Modelo de Série Temporal tem três componentes principais:
- Instâncias do Modelo de Série Temporal
- Hierarquias do Modelo de Série Temporal
- Tipos de Modelo de Série Temporal
Esses componentes são combinados para especificar um modelo de série temporal e para organizar os dados.
O modelo de série temporal pode ser criado e gerenciado por meio do Gerenciador do Time Series Insights. As configurações do Modelo de Série Temporal podem ser gerenciadas por meio da API de Configurações do Modelo.
Instâncias do Modelo de Série Temporal
As instâncias do Modelo de Série Temporal são representações virtuais da série temporal.
Na maioria dos casos, as instâncias são identificadas exclusivamente pela deviceId ou pela assetId, que são salvas como IDs de série temporal.
As instâncias têm informações descritivas associadas a elas, chamadas Propriedades de instância, como por exemplo a ID, tipo, nome, descrição, hierarquias e campos de instância da série temporal. As propriedades de instância incluem, no mínimo, informações de hierarquia.
Os campos de instância são uma coleção de informações descritivas que podem incluir valores para níveis de hierarquia, bem como o fabricante, o operador e assim por diante.
Depois que uma fonte de evento é configurada para o ambiente do Azure Time Series Insights Gen2, as instâncias são descobertas e criadas automaticamente em um modelo de série temporal. As instâncias podem ser criadas ou atualizadas por meio do Gerenciador do Time Series Insights usando as consultas de Modelo de Série Temporal.
Propriedades da instância
As instâncias são definidas por timeSeriesId, typeId, name, description, hierarchyIds e instanceFields. Cada instância é mapeada para apenas um tipo e para uma ou mais hierarquias.
Propriedade | Descrição |
---|---|
timeSeriesId | ID exclusiva da série temporal à qual a instância está associada. Na maioria dos casos, as instâncias são identificadas exclusivamente por uma propriedade como deviceId ou assetId. Em alguns casos pode ser usada uma ID composta mais específica, combinando até 3 propriedades. |
typeId | ID exclusiva de cadeia de caracteres que diferencia maiúsculas de minúsculas do tipo de Modelo de Série Temporal à qual a instância está associada. Por padrão, todas as novas instâncias descobertas são associadas a um tipo padrão. |
name | A propriedade name é opcional e diferencia maiúsculas de minúsculas. Se o nome não estiver disponível, o padrão será timeSeriesId. Se um nome for fornecido, o iimeSeriesId ainda estará disponível no repositório. |
descrição | Descrição da instância. |
hierarchyIds | Define a quais hierarquias a instância pertence. |
instanceFields | Propriedades de uma instância e todos os dados estáticos que definem uma instância. Elas definem os valores das propriedades hierárquicas e não hierárquicas e também dão suporte à indexação para executar operações de pesquisa. |
Observação
As hierarquias são criadas usando campos de instância. InstanceFields adicionais podem ser incluídos para outras definições de propriedade de instância.
As instâncias têm a seguinte representação 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"
}
}
Dica
Por exemplo, para saber sobre o suporte para criação, leitura, atualização e exclusão (CRUD) de API de instância, leia o artigo Consulta de dados e a Documentação da REST API de instância.
Hierarquias do Modelo de Série Temporal
As hierarquias do Modelo de Série Temporal organizam as instâncias especificando os nomes de propriedade e suas relações.
Você pode configurar várias hierarquias em um determinado ambiente do Azure Time Series Insights Gen2. Uma instância do Modelo de Série Temporal pode ser mapeada para uma única hierarquia ou para várias (relação muitas-para-muitas).
Definição de hierarquia
As hierarquias são definidas por id, name e source da hierarquia.
Propriedade | Descrição |
---|---|
ID | Identificador exclusivo da hierarquia, que é usada, por exemplo, quando você define uma instância. |
name | Cadeia de caracteres usada para fornecer um nome para a hierarquia. |
source | Especifica a hierarquia ou o caminho organizacional, que é a ordem de pai-filho, de cima para baixo, que os usuários desejam criar. As propriedades de pai-filho mapeiamcampos de instância. |
As hierarquias são representadas em JSON como:
{
"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"
]
}
}
]
}
No exemplo JSON anterior:
Location
define uma hierarquia com um paistates
e filhocities
. Cadalocation
pode ter váriosstates
, que por sua vez podem ter várioscities
.ManufactureDate
define uma hierarquia com um paiyear
e filhomonth
. CadaManufactureDate
pode ter váriosyears
, que por sua vez podem ter váriosmonths
.
Dica
Para saber sobre o suporte para criação, leitura, atualização e exclusão (CRUD) de API de hierarquia, leia o artigo Consulta de dados e a Documentação da REST API de hierarquia.
Exemplo de hierarquia
Considere um exemplo em que a hierarquia H1 tem building
, floor
e room
como parte de sua definição de instanceFieldNames:
{
"id": "aaaaaa-bbbbb-ccccc-ddddd-111111",
"name": "H1",
"source": {
"instanceFieldNames": [
"building",
"floor",
"room"
]
}
}
Considerando os campos de instância usados na definição anterior e em várias séries temporais, os valores e atributos de hierarquia aparecem conforme mostrado na tabela a seguir:
ID da série temporal | Campos de instância |
---|---|
ID1 | "building" = "1000", "floor" = "10", "room" = "55" |
ID2 | "building" = "1000", "room" = "55" |
ID3 | "floor" = "10" |
ID4 | "building" = "1000", "floor" = "10" |
ID5 | Nenhum "building", "floor", ou "room" foram definidos. |
A série temporal ID1 e ID4 são exibidos como parte da hierarquia H1 no Gerenciador do Azure Time Series Insights porque eles possuem os parâmetros building, floore room totalmente definidos e corretamente ordenados.
Os outros são classificados em Instâncias sem pai porque não estão em conformidade com a hierarquia de dados especificada.
Tipos de Modelo de Série Temporal
Os tipos do modelo do Time Series ajudam a definir variáveis ou fórmulas para fazer cálculos. Os tipos são associados a uma instância específica.
Um tipo pode ter uma ou mais variáveis. Por exemplo, uma instância do Modelo de Série Temporal pode ser do tipo Sensor de Temperatura, que consiste nas variáveis temperatura média, temperatura mín e temperatura máx.
Dica
Para saber sobre o suporte para criação, leitura, atualização e exclusão (CRUD), leia o artigo Consulta de dados e a Documentação da REST API de tipo.
Propriedades de tipo
Os tipos de Modelo de Série Temporal são definidos por id, nome, descriçãoe variáveis.
Propriedade | Descrição |
---|---|
ID | ID exclusiva de cadeia de caracteres que diferencia maiúsculas de minúsculas para o tipo. |
name | Cadeia de caracteres usada para fornecer um nome para o tipo. |
descrição | Descrição em cadeia de caracteres para o tipo. |
variáveis | Especifica as variáveis associadas ao tipo. |
Os tipos estão em conformidade com o seguinte exemplo de JSON:
{
"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)"
}
}
}
}
]
}
Os tipos de Modelo de Série Temporal podem ter muitas variáveis que especificam fórmulas e regras de computação em eventos. Leia mais sobre como definir variáveis de Modelo de Série Temporal
Próximas etapas
Leia a documentação de referência do Modelo de Série Temporal para obter mais informações sobre como editar o modelo por meio de APIs.
Explore as fórmulas e computações que você pode criar com variáveis de Modelo de Série Temporal
Saiba mais sobre a consulta a dados no Azure Time Series Insights Gen2