Migrera Time Series Insights Gen2 till realtidsinformation i Microsoft Fabric
Kommentar
Time Series Insights-tjänsten dras tillbaka den 7 juli 2024. Överväg att migrera befintliga miljöer till alternativa lösningar så snart som möjligt. Mer information om utfasning och migrering finns i vår dokumentation.
Översikt
Eventhouse är tidsseriedatabasen i Realtidsinformation. Den fungerar som mål för migrering av data från Time Series Insights.
Migreringsrekommendationer på hög nivå.
Funktion | Migrering rekommenderas |
---|---|
Mata in JSON från hubben med platta ut och fly | Hämta data från Azure Event Hubs |
Öppna kall butik | Tillgänglighet för Eventhouse OneLake |
Power BI-anslutningsprogram | Använd Eventhouse Power BI Connector. Skriv om TSQ till KQL manuellt. |
Spark-anslutningsprogram | Migrera data till Eventhouse. Använda en notebook-fil med Apache Spark för att fråga en Eventhouse eller Utforska data i ditt lakehouse med en notebook-fil |
Massuppladdning | Hämta data från Azure Storage |
Time Series-modell | Kan exporteras som JSON-fil. Kan importeras till Eventhouse. Kusto Graph-semantik tillåter modell, bläddrering och analys av tidsseriemodellhierarki som ett diagram |
Time Series Explorer | Realtidsinstrumentpanel, Power BI-rapport eller skriva en anpassad instrumentpanel med KustoTrender |
Frågespråk | Skriv om frågor i KQL. |
Migrera telemetri
Om du vill hämta kopian av alla data i miljön använder du PT=Time
mappen i lagringskontot. Mer information finns i Datalagring.
Migrering steg 1 – Hämta statistik om telemetridata
Data
- Översikt över Env
- Registrera miljö-ID från första delen av FQDN för dataåtkomst (till exempel d390b0b0-1445-4c0c-8365-68d6382c1c2a från .env.crystal-dev.windows-int.net)
- Översikt över Env –> Lagringskonfiguration –> Lagringskonto
- Använda Storage Explorer för att hämta mappstatistik
- Poststorlek och antalet blobar i
PT=Time
mappen.
- Poststorlek och antalet blobar i
Migrering steg 2 – Migrera data till Eventhouse
Skapa ett eventhouse
Om du vill konfigurera ett Eventhouse för migreringsprocessen följer du stegen för att skapa ett Eventhouse.
Datainhämtning
Om du vill hämta data för lagringskontot som motsvarar din Time Series Insights-instans följer du stegen för att hämta data från Azure Storage.
Kontrollera att du:
Välj lämplig container och ange dess URI, tillsammans med nödvändig SAS-token eller kontonyckel.
Konfigurera mappsökvägen för filfilter för
V=1/PT=Time
att filtrera relevanta blobar.Verifiera det härledda schemat och ta bort kolumner som efterfrågas sällan, samtidigt som du behåller tidsstämpeln, TSID-kolumnerna och värdena. För att säkerställa att alla dina data kopieras till Eventhouse lägger du till en annan kolumn och använder mappningstransformeringen DropMappedFields .
Slutför inmatningsprocessen.
Köra frågor mot data
Nu när du har matat in data kan du börja utforska dem med hjälp av en KQL-frågeuppsättning. Om du behöver komma åt data från ditt anpassade klientprogram tillhandahåller Eventhouse SDK:er för större programmeringsspråk som C# (länk), Java (länk) och Node.js (länk).
Migrera Tidsseriemodell till Azure Data Explorer
Modellen kan laddas ned i JSON-format från TSI-miljön med TSI Explorer UX eller TSM Batch API. Sedan kan modellen importeras till Eventhouse.
Ladda ned TSM från TSI UX.
Ta bort de tre första raderna med Visual Studio Code eller en annan redigerare.
Använd Visual Studio Code eller någon annan redigerare, sök och ersätt som regex
\},\n \{
med}{
Mata in som JSON i ADX som en separat tabell med hämta data från en enda fil.
När du har migrerat dina tidsseriedata till Eventhouse i Fabric Realtidsinformation kan du använda kraften i Kusto Graph Semantics för att kontextualisera och analysera dina data. Med Kusto Graph-semantik kan du modellera, bläddra och analysera hierarkin för din Tidsseriemodell som en graf. Genom att använda Kusto Graph Semantics kan du få insikter om relationerna mellan olika entiteter i dina tidsseriedata, till exempel tillgångar, webbplatser och datapunkter. Dessa insikter hjälper dig att förstå beroenden och interaktioner mellan olika komponenter i systemet.
Översätta time series-frågor (TSQ) till KQL
GetEvents
{
"getEvents": {
"timeSeriesId": [
"assest1",
"siteId1",
"dataId1"
],
"searchSpan": {
"from": "2021-11-01T00:00:0.0000000Z",
"to": "2021-11-05T00:00:00.000000Z"
},
"inlineVariables": {},
}
}
events
| where timestamp >= datetime(2021-11-01T00:00:0.0000000Z) and timestamp < datetime(2021-11-05T00:00:00.000000Z)
| where assetId_string == "assest1" and siteId_string == "siteId1" and dataid_string == "dataId1"
| take 10000
GetEvents med filter
{
"getEvents": {
"timeSeriesId": [
"deviceId1",
"siteId1",
"dataId1"
],
"searchSpan": {
"from": "2021-11-01T00:00:0.0000000Z",
"to": "2021-11-05T00:00:00.000000Z"
},
"filter": {
"tsx": "$event.sensors.sensor.String = 'status' AND $event.sensors.unit.String = 'ONLINE"
}
}
}
events
| where timestamp >= datetime(2021-11-01T00:00:0.0000000Z) and timestamp < datetime(2021-11-05T00:00:00.000000Z)
| where deviceId_string== "deviceId1" and siteId_string == "siteId1" and dataId_string == "dataId1"
| where ['sensors.sensor_string'] == "status" and ['sensors.unit_string'] == "ONLINE"
| take 10000
GetEvents med beräknad variabel
{
"getEvents": {
"timeSeriesId": [
"deviceId1",
"siteId1",
"dataId1"
],
"searchSpan": {
"from": "2021-11-01T00:00:0.0000000Z",
"to": "2021-11-05T00:00:00.000000Z"
},
"inlineVariables": {},
"projectedVariables": [],
"projectedProperties": [
{
"name": "sensors.value",
"type": "String"
},
{
"name": "sensors.value",
"type": "bool"
},
{
"name": "sensors.value",
"type": "Double"
}
]
}
}
events
| where timestamp >= datetime(2021-11-01T00:00:0.0000000Z) and timestamp < datetime(2021-11-05T00:00:00.000000Z)
| where deviceId_string== "deviceId1" and siteId_string == "siteId1" and dataId_string == "dataId1"
| take 10000
| project timestamp, sensorStringValue= ['sensors.value_string'], sensorBoolValue= ['sensors.value_bool'], sensorDoublelValue= ['sensors.value_double']
AggregateSeries
{
"aggregateSeries": {
"timeSeriesId": [
"deviceId1"
],
"searchSpan": {
"from": "2021-11-01T00:00:00.0000000Z",
"to": "2021-11-05T00:00:00.0000000Z"
},
"interval": "PT1M",
"inlineVariables": {
"sensor": {
"kind": "numeric",
"value": {
"tsx": "coalesce($event.sensors.value.Double, todouble($event.sensors.value.Long))"
},
"aggregation": {
"tsx": "avg($value)"
}
}
},
"projectedVariables": [
"sensor"
]
}
events
| where timestamp >= datetime(2021-11-01T00:00:00.0000000Z) and timestamp < datetime(2021-11-05T00:00:00.0000000Z)
| where deviceId_string == "deviceId1"
| summarize avgSensorValue= avg(coalesce(['sensors.value_double'], todouble(['sensors.value_long']))) by bin(IntervalTs = timestamp, 1m)
| project IntervalTs, avgSensorValue
AggregateSeries med filter
{
"aggregateSeries": {
"timeSeriesId": [
"deviceId1"
],
"searchSpan": {
"from": "2021-11-01T00:00:00.0000000Z",
"to": "2021-11-05T00:00:00.0000000Z"
},
"filter": {
"tsx": "$event.sensors.sensor.String = 'heater' AND $event.sensors.location.String = 'floor1room12'"
},
"interval": "PT1M",
"inlineVariables": {
"sensor": {
"kind": "numeric",
"value": {
"tsx": "coalesce($event.sensors.value.Double, todouble($event.sensors.value.Long))"
},
"aggregation": {
"tsx": "avg($value)"
}
}
},
"projectedVariables": [
"sensor"
]
}
}
events
| where timestamp >= datetime(2021-11-01T00:00:00.0000000Z) and timestamp < datetime(2021-11-05T00:00:00.0000000Z)
| where deviceId_string == "deviceId1"
| where ['sensors.sensor_string'] == "heater" and ['sensors.location_string'] == "floor1room12"
| summarize avgSensorValue= avg(coalesce(['sensors.value_double'], todouble(['sensors.value_long']))) by bin(IntervalTs = timestamp, 1m)
| project IntervalTs, avgSensorValue
Power BI
Det finns ingen automatiserad process för att migrera Power BI-rapporter som baserades på Time Series Insights. Alla frågor som förlitar sig på data som lagras i Time Series Insights måste migreras till Eventhouse.
För att skapa effektiva tidsserierapporter i Power BI rekommenderar vi att du refererar till följande informativa bloggartiklar:
- Tidsseriefunktioner för Eventhouse i Power BI
- Så här använder du dynamiska M-parametrar utan de flesta begränsningar
- Tidsintervall/varaktighetsvärden i KQL, Power Query och Power BI
- KQL-frågeinställningar i Power BI
- Filtrera och visualisera Kusto-data i lokal tid
- Rapporter i nära realtid i PBI + Kusto
- Power BI-modellering med ADX – fuskark
Mer information om hur du skapar effektiva tidsserierapporter i Power BI finns i dessa resurser.
Instrumentpanel i realtid
En realtidsinstrumentpanel i Infrastrukturresurser är en samling paneler, som kan ordnas på sidor, där varje panel har en underliggande fråga och en visuell representation. Du kan exportera KQL-frågor (Kusto Query Language) till en instrumentpanel som visuella objekt och senare ändra deras underliggande frågor och visuell formatering efter behov. Förutom enkel datautforskning ger den här fullständigt integrerade instrumentpanelen bättre prestanda för frågor och visualisering.
Börja med att skapa en ny instrumentpanel i Fabric Realtidsinformation. Med den här kraftfulla funktionen kan du utforska data, anpassa visuella objekt, tillämpa villkorsstyrd formatering och använda parametrar. Dessutom kan du skapa aviseringar direkt från dina realtidsinstrumentpaneler och förbättra dina övervakningsfunktioner. Detaljerade anvisningar om hur du skapar en instrumentpanel finns i den officiella dokumentationen.