Model szeregów czasowych w usłudze Azure Time Series Insights Gen2
Uwaga
Usługa Time Series Insights zostanie wycofana 7 lipca 2024 r. Rozważ migrację istniejących środowisk do alternatywnych rozwiązań tak szybko, jak to możliwe. Aby uzyskać więcej informacji na temat wycofywania i migracji, odwiedź naszą dokumentację.
W tym artykule opisano model szeregów czasowych, możliwości oraz sposób rozpoczęcia tworzenia i aktualizowania własnych modeli w środowisku usługi Azure Time Series Insights Gen2.
Napiwek
- Przejdź do środowiska demonstracyjnego firmy Contoso Wind Farm, aby uzyskać przykładowy model serii czasu na żywo.
- Dowiedz się , jak pracować z modelem szeregów czasowych przy użyciu Eksploratora usługi Azure Time Series Insights.
Podsumowanie
Tradycyjnie dane zbierane z urządzeń IoT nie zawierają informacji kontekstowych, co utrudnia szybkie znajdowanie i analizowanie czujników. Główną motywacją modelu szeregów czasowych jest uproszczenie znajdowania i analizowania danych IoT lub Time Series. Pozwala to osiągnąć ten cel, umożliwiając zarządzanie, konserwację i wzbogacanie danych szeregów czasowych, aby ułatwić przygotowanie zestawów danych gotowych do użycia przez konsumentów na potrzeby analizy.
Scenariusz: nowy inteligentny piekarnik firmy Contoso
Rozważ fikcyjny scenariusz inteligentnego piekarnika Firmy Contoso. W tym scenariuszu załóżmy, że każdy inteligentny piekarnik Firmy Contoso ma pięć czujników temperatury, jeden dla każdego z czterech najlepszych palników i jeden dla samego piekarnika. Do niedawna każdy czujnik temperatury firmy Contoso wysyłał, przechowywał i wizualizować dane osobno. Na potrzeby monitorowania urządzenia kuchennego firma Contoso oparła się na podstawowych wykresach, po jednym dla każdego czujnika.
Chociaż firma Contoso była zadowolona z początkowego rozwiązania do przetwarzania danych i wizualizacji, stało się oczywiste kilka ograniczeń:
- Klienci chcieli wiedzieć, jak gorący ogólny piekarnik dostanie, gdy większość najlepszych palników była na. Firma Contoso miała większe trudności z analizowaniem i prezentowaniem ujednoliconej odpowiedzi na temat warunków ogólnego piekarnika.
- Inżynierowie firmy Contoso chcieli sprawdzić, czy uruchamiane jednocześnie najważniejsze palniki nie spowodują nieefektywnego zużycia energii. Wystąpił problem podczas odwoływania się do tego, które czujniki temperatury i napięcia były ze sobą powiązane i jak je zlokalizować w sklepie.
- Zespół ds. kontroli jakości firmy Contoso chciał przeprowadzić inspekcję i porównać historię między dwiema wersjami czujników. Trudno było określić, jakie dane należą do której wersji czujnika.
Bez możliwości struktury, organizowania i definiowania nadrzędnego modelu szeregów czasowych inteligentnego piekarnika każdy czujnik temperatury utrzymuje zwichnięty, izolowany i mniej informacyjny punkt danych. Przekształcenie tych punktów danych w szczegółowe informacje umożliwiające podejmowanie działań było trudniejsze, ponieważ każdy zestaw danych żył niezależnie od innych.
Te ograniczenia ujawniły znaczenie inteligentnych narzędzi agregacji danych i wizualizacji, które mają towarzyszyć nowemu piekarnikowi firmy Contoso:
- Wizualizacja danych okazuje się przydatna, gdy możesz skojarzyć i połączyć dane w wygodny widok. Przykład przedstawia czujniki napięcia wraz z czujnikami temperatury.
- Zarządzanie danymi wielowymiarowymi dla kilku jednostek wraz z porównaniem, powiększaniem i funkcjami zakresu czasu może być trudne do osiągnięcia.
Model szeregów czasowych zapewnia wygodne rozwiązanie dla wielu scenariuszy napotkanych w tym fikcyjnym przykładzie:
- Model szeregów czasowych odgrywa istotną rolę w zapytaniach i nawigacji, ponieważ kontekstuje dane, umożliwiając rysowanie porównań między zakresami czasu a rodzajami czujników i urządzeń. (A)
- Dane są dalej kontekstowe, ponieważ dane utrwalone w modelu szeregów czasowych zachowują obliczenia zapytań szeregów czasowych jako zmienne i ponownie są używane w czasie wykonywania zapytań.
- Model szeregów czasowych organizuje i agreguje dane w celu uzyskania ulepszonych możliwości wizualizacji i zarządzania. (B)
Najważniejsze możliwości
Dzięki temu, że zarządzanie kontekstem szeregów czasowych jest proste i łatwe, model szeregów czasowych umożliwia korzystanie z następujących funkcji w usłudze Azure Time Series Insights Gen2. Ułatwia to:
- Tworzenie obliczeń lub formuł oraz zarządzanie nimi przy użyciu funkcji skalarnych, operacji agregacji itd.
- Zdefiniuj relacje nadrzędno-podrzędne, aby włączyć nawigację, wyszukiwanie i odwołanie.
- Zdefiniuj właściwości skojarzone z wystąpieniami zdefiniowanymi jako pola wystąpienia i użyj ich do tworzenia hierarchii.
Składniki
Model szeregów czasowych ma trzy podstawowe składniki:
- Wystąpienia modelu szeregów czasowych
- Hierarchie modeli szeregów czasowych
- Typy modeli szeregów czasowych
Te składniki są łączone w celu określenia modelu szeregów czasowych i organizowania danych.
Model szeregów czasowych można utworzyć i zarządzać nimi za pośrednictwem Eksploratora usługi Azure Time Series Insights. Ustawienia modelu szeregów czasowych można zarządzać za pomocą interfejsu API ustawień modelu.
Wystąpienia modelu szeregów czasowych
Wystąpienia modelu szeregów czasowych to wirtualne reprezentacje samych szeregów czasowych.
W większości przypadków wystąpienia są jednoznacznie identyfikowane przez identyfikatory deviceId lub assetId, które są zapisywane jako identyfikatory szeregów czasowych.
Wystąpienia mają skojarzone z nimi opisowe informacje o nazwach właściwości wystąpienia, takie jak identyfikator szeregów czasowych, typ, nazwa, opis, hierarchie i pola wystąpienia. Co najmniej właściwości wystąpienia zawierają informacje o hierarchii.
Pola wystąpienia to zbiór informacji opisowych, które mogą zawierać wartości poziomów hierarchii, a także producenta, operatora itd.
Po skonfigurowaniu źródła zdarzeń dla środowiska usługi Azure Time Series Insights Gen2 wystąpienia są automatycznie odnajdywane i tworzone w modelu szeregów czasowych. Wystąpienia można tworzyć lub aktualizować za pośrednictwem Eksploratora usługi Azure Time Series Insights przy użyciu zapytań modelu szeregów czasowych.
Pokaz firmy Contoso Wind Farm zawiera kilka przykładów wystąpienia na żywo.
Właściwości wystąpienia
Wystąpienia są definiowane przez atrybut timeSeriesId, typeId, name, description, hierarchyIds i instanceFields. Każde wystąpienie mapuje tylko na jeden typ i co najmniej jedną hierarchię.
Właściwości | opis |
---|---|
timeSeriesId | Unikatowy identyfikator szeregów czasowych, z których jest skojarzone wystąpienie. W większości przypadków wystąpienia są jednoznacznie identyfikowane przez właściwość, na przykład deviceId lub assetId. W niektórych przypadkach można użyć bardziej szczegółowego identyfikatora złożonego łączącego maksymalnie 3 właściwości. |
typeId | Unikatowy identyfikator ciągu z uwzględnieniem wielkości liter typu modelu szeregów czasowych, z który jest skojarzone wystąpienie. Domyślnie wszystkie odnalezione nowe wystąpienia są skojarzone z typem domyślnym. |
name | Właściwość name jest opcjonalna i uwzględnia wielkość liter. Jeśli nazwa jest niedostępna, wartość domyślna to timeSeriesId. Jeśli podano nazwę, identyfikator timeSeriesId jest nadal dostępny w studni. |
opis | Opis tekstowy wystąpienia. |
hierarchyIds | Definiuje hierarchie, do których należy wystąpienie. |
instanceFields | Właściwości wystąpienia i wszystkie dane statyczne definiujące wystąpienie. Definiują one wartości właściwości hierarchii lub nie hierarchii, a jednocześnie obsługują indeksowanie w celu wykonywania operacji wyszukiwania. |
Uwaga
Hierarchie są tworzone przy użyciu pól wystąpienia. Dodatkowe wystąpieniaPola można dodać w celu uzyskania dalszych definicji właściwości wystąpienia.
Wystąpienia mają następującą reprezentację w formacie 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"
}
}
Napiwek
W przypadku obsługi tworzenia, odczytywania, aktualizowania i usuwania interfejsu API wystąpienia (CRUD) przeczytaj artykuł Wykonywanie zapytań dotyczących danych i dokumentację REST interfejsu API wystąpień.
Hierarchie modeli szeregów czasowych
Hierarchie modelu szeregów czasowych organizują wystąpienia, określając nazwy właściwości i ich relacje.
W danym środowisku usługi Azure Time Series Insights Gen2 można skonfigurować wiele hierarchii. Wystąpienie modelu szeregów czasowych może mapować na jedną hierarchię lub wiele hierarchii (relacja wiele-do-wielu).
Pokaz farmy wiatrowej Firmy Contoso przedstawia standardowe wystąpienie i hierarchię typów.
Definicja hierarchii
Hierarchie są definiowane przez identyfikator hierarchii, nazwę i źródło.
Właściwości | opis |
---|---|
identyfikator | Unikatowy identyfikator hierarchii, który jest używany na przykład podczas definiowania wystąpienia. |
name | Ciąg używany do podania nazwy hierarchii. |
source | Określa hierarchię organizacyjną lub ścieżkę, która jest kolejnością nadrzędny-podrzędna hierarchii, którą użytkownicy chcą utworzyć. Pola wystąpienia mapowania właściwości nadrzędny-podrzędny. |
Hierarchie są reprezentowane w formacie JSON jako:
{
"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"
]
}
}
]
}
W poprzednim przykładzie JSON:
Location
definiuje hierarchię z elementem nadrzędnym i podrzędnymstates
cities
. Każdylocation
może mieć wielestates
elementów , co z kolei może mieć wielecities
elementów .ManufactureDate
definiuje hierarchię z elementem nadrzędnym i podrzędnymyear
month
. KażdyManufactureDate
może mieć wieleyears
elementów , co z kolei może mieć wielemonths
elementów .
Napiwek
W przypadku obsługi tworzenia, odczytywania, aktualizowania i usuwania (CRUD) interfejsu API hierarchii zapoznaj się z artykułem Dotyczącym wykonywania zapytań dotyczących danych i dokumentacją REST interfejsu API hierarchii.
Przykład hierarchii
Rozważmy przykład, w którym hierarchia H1 ma building
wartość , floor
i room
w ramach definicji instanceFieldNames:
{
"id": "aaaaaa-bbbbb-ccccc-ddddd-111111",
"name": "H1",
"source": {
"instanceFieldNames": [
"building",
"floor",
"room"
]
}
}
Biorąc pod uwagę pola wystąpienia używane w poprzedniej definicji i kilku szeregach czasowych, atrybuty hierarchii i wartości są wyświetlane w poniższej tabeli:
Identyfikator szeregu czasowego | Pola wystąpienia |
---|---|
ID1 | "building" = "1000", "floor" = "10", "room" = "55" |
ID2 | "building" = "1000", "room" = "55" |
ID3 | "floor" = "10" |
ID4 | "building" = "1000", "floor" = "10" |
ID5 | Żaden z "budynku", "piętro" lub "pokój" nie jest ustawiony. |
Identyfikator szeregów czasowych 1 i ID4 są wyświetlane jako część hierarchii H1 w Eksploratorze usługi Azure Time Series Insights, ponieważ mają w pełni zdefiniowane i poprawnie uporządkowane parametry budynku, podłogi i pomieszczenia.
Pozostałe są klasyfikowane w obszarze Wystąpienia nieparzyste, ponieważ nie są zgodne z określoną hierarchią danych.
Typy modeli szeregów czasowych
Typy modeli szeregów czasowych ułatwiają definiowanie zmiennych lub formuł do wykonywania obliczeń. Typy są skojarzone z określonym wystąpieniem.
Typ może mieć co najmniej jedną zmienną. Na przykład wystąpienie modelu szeregów czasowych może być typu Czujnik temperatury, który składa się ze zmiennych średniej temperatury, minimalnej temperatury i maksymalnej temperatury.
Pokaz farmy wiatrowej firmy Contoso wizualizuje kilka typów modeli szeregów czasowych skojarzonych z odpowiednimi wystąpieniami.
Napiwek
W przypadku obsługi interfejsu API typów tworzenie, odczytywanie, aktualizowanie i usuwanie (CRUD) zawiera artykuł Dotyczący wykonywania zapytań dotyczących danych i dokumentację REST interfejsu API typów.
Właściwości typu
Typy modeli szeregów czasowych są definiowane według identyfikatora, nazwy, opisu i zmiennych.
Właściwości | opis |
---|---|
identyfikator | Unikatowy identyfikator ciągu z uwzględnieniem wielkości liter dla typu. |
name | Ciąg używany do podania nazwy typu. |
opis | Opis ciągu dla typu. |
zmienne | Określ zmienne skojarzone z typem. |
Typy są zgodne z następującym przykładem 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)"
}
}
}
}
]
}
Typy modeli szeregów czasowych mogą mieć wiele zmiennych określających reguły formuł i obliczeń dla zdarzeń. Dowiedz się więcej o sposobie definiowania zmiennych modelu szeregów czasowych
Następne kroki
Przeczytaj dokumentację referencyjną modelu szeregów czasowych, aby uzyskać więcej informacji na temat edytowania modelu za pośrednictwem interfejsów API.
Eksplorowanie formuł i obliczeń, które można utworzyć za pomocą zmiennych modelu szeregów czasowych
Dowiedz się więcej na temat wykonywania zapytań dotyczących danych w usłudze Azure Time Series Insights Gen2
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla