Migrace Time Series Insights Gen2 na inteligentní funkce v reálném čase v Microsoft Fabric
Poznámka:
Služba Time Series Insights bude vyřazena 7. července 2024. Zvažte migraci stávajících prostředí na alternativní řešení co nejdříve. Další informace o vyřazení a migraci najdete v naší dokumentaci.
Přehled
Eventhouse je databáze časových řad ve inteligentním čase v reálném čase. Slouží jako cíl pro migraci dat mimo Time Series Insights.
Doporučení pro migraci na vysoké úrovni
Funkce | Doporučená migrace |
---|---|
Ingestování JSON z centra s plochou a zapouzdřením | Získání dat z Azure Event Hubs |
Otevřít studené úložiště | Dostupnost Eventhouse OneLake |
Konektor Power BI | Použijte konektor Eventhouse Power BI. Přepište TSQ na KQL ručně. |
Konektor Spark | Migrace dat do Eventhouse Použití poznámkového bloku s Apache Sparkem k dotazování eventhouse nebo prozkoumání dat v jezeře pomocí poznámkového bloku |
Hromadné nahrávání | Získání dat z úložiště Azure |
Model služby Time Series | Dá se exportovat jako soubor JSON. Lze importovat do Eventhouse. Sémantika grafů Kusto umožňuje model, procházení a analýzu hierarchie modelů časových řad jako grafu. |
Time Series Explorer | Řídicí panel v reálném čase, sestava Power BI nebo napsání vlastního řídicího panelu pomocí KustoTrenderu |
Dotazovací jazyk | Přepište dotazy v KQL. |
Migrace telemetrie
Pokud chcete načíst kopii všech dat v prostředí, použijte PT=Time
složku v účtu úložiště. Další informace najdete v tématu Úložiště dat.
Migrace – krok 1 – získání statistik o telemetrických datech
Data
- Přehled env
- Záznam ID prostředí z první části plně kvalifikovaného názvu domény aplikace Data Access (například d390b0b0-1445-4c0c-8365-68d6382c1c2a From .env.crystal-dev.windows-int.net)
- Přehled env –> Konfigurace úložiště –> Účet úložiště
- Získání statistik složek pomocí Průzkumník služby Storage
- Velikost záznamu a počet objektů
PT=Time
blob složky
- Velikost záznamu a počet objektů
Migrace – krok 2 – migrace dat do eventhouse
Vytvoření eventhouse
Pokud chcete nastavit eventhouse pro proces migrace, postupujte podle kroků při vytváření eventhouse.
Přijímání dat
Pokud chcete načíst data pro účet úložiště odpovídající vaší instanci Time Series Insights, postupujte podle kroků při získávání dat ze služby Azure Storage.
Ujistěte se, že:
Vyberte příslušný kontejner a zadejte jeho identifikátor URI spolu s potřebným tokenem SAS nebo klíčem účtu.
Nakonfigurujte cestu ke složce filtrů souborů tak, aby
V=1/PT=Time
filtrovali relevantní objekty blob.Ověřte odvozené schéma a odeberte všechny zřídka dotazované sloupce a zachovejte alespoň časové razítko, sloupce TSID a hodnoty. Pokud chcete zajistit, aby se všechna vaše data zkopírovala do Eventhouse, přidejte další sloupec a použijte transformaci mapování DropMappedFields .
Dokončete proces příjmu dat.
Dotazování na data
Když teď úspěšně ingestujete data, můžete je začít zkoumat pomocí sady dotazů KQL. Pokud potřebujete získat přístup k datům z vlastní klientské aplikace, eventhouse poskytuje sady SDK pro hlavní programovací jazyky, jako je C# (odkaz), Java (odkaz) a Node.js (odkaz).
Migrace modelu time series do Azure Data Exploreru
Model si můžete stáhnout ve formátu JSON z prostředí TSI pomocí uživatelského rozhraní PRŮZKUMNÍKa TSI nebo rozhraní API služby TSM Batch. Model je pak možné importovat do eventhouse.
Stáhněte si TSM z uživatelského prostředí TSI.
Odstraňte první tři řádky pomocí editoru Visual Studio Code nebo jiného editoru.
Pomocí editoru Visual Studio Code nebo jiného editoru vyhledejte a nahraďte výraz regex
\},\n \{
}{
Ingestování ve formátu JSON do ADX jako samostatné tabulky pomocí funkce Načíst data z jednoho souboru
Po migraci dat časových řad do Eventhouse v reálném čase v prostředcích infrastruktury můžete využít sílu sémantiky grafů Kusto k kontextování a analýze dat. Sémantika grafu Kusto umožňuje modelovat, procházet a analyzovat hierarchii modelu časové řady jako graf. Pomocí sémantiky grafů Kusto můžete získat přehled o vztazích mezi různými entitami v datech časových řad, jako jsou prostředky, weby a datové body. Tyto přehledy vám pomůžou porozumět závislostem a interakcím mezi různými součástmi systému.
Překlad dotazů časových řad (TSQ) do 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 s filtrem
{
"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 s projektovanou proměnnou
{
"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 s filtrem
{
"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
Neexistuje žádný automatizovaný proces migrace sestav Power BI založených na Time Series Insights. Všechny dotazy, které spoléhají na data uložená v Time Series Insights, musí být migrovány do eventhouse.
Pokud chcete vytvářet efektivní sestavy časových řad v Power BI, doporučujeme odkazovat na následující informativní blogové články:
- Možnosti časových řad eventhouse v Power BI
- Jak používat dynamické parametry M bez většiny omezení
- Hodnoty časového rozsahu a doby trvání v KQL, Power Query a Power BI
- Nastavení dotazů KQL v Power BI
- Filtrování a vizualizace dat Kusto v místním čase
- Sestavy téměř v reálném čase v PBI + Kusto
- Modelování Power BI pomocí ADX – tahák
Pokyny k vytváření efektivních sestav časových řad v Power BI najdete v těchto zdrojích informací.
Řídicí panel v reálném čase
Řídicí panel v reálném čase v prostředcích infrastruktury je kolekce dlaždic, která je volitelně uspořádaná na stránkách, kde má každá dlaždice podkladový dotaz a vizuální reprezentaci. Dotazy dotazovací jazyk Kusto (KQL) můžete nativně exportovat do řídicího panelu jako vizuály a později upravit jejich podkladové dotazy a formátování vizuálů podle potřeby. Kromě snadného zkoumání dat poskytuje toto plně integrované prostředí řídicího panelu lepší výkon dotazů a vizualizací.
Začněte vytvořením nového řídicího panelu v sadě Fabric v reálném čase. Tato výkonná funkce umožňuje zkoumat data, přizpůsobovat vizuály, používat podmíněné formátování a využívat parametry. Kromě toho můžete vytvářet výstrahy přímo z řídicích panelů v reálném čase a vylepšit tak možnosti monitorování. Podrobné pokyny k vytvoření řídicího panelu najdete v oficiální dokumentaci.