Migrazione di Time Series Insights Gen1 a Real-Time Intelligence in Microsoft Fabric
Nota
Il servizio Time Series Insights verrà ritirato il 7 luglio 2024. Valutare la possibilità di eseguire la migrazione di ambienti esistenti a soluzioni alternative il prima possibile. Per ulteriori informazioni sulla deprecazione e la migrazione, consultare la documentazione .
Panoramica
Eventhouse è il database time series in Real-Time Intelligence. Funge da destinazione per la migrazione dei dati da Time Series Insights.
Prerequisiti
- Un'area di lavoro con una capacità abilitata per Microsoft Fabric
- Una casa eventi nel tuo spazio di lavoro
Inserire nuovi dati
Per iniziare a inserire nuovi dati in Eventhouse, seguire questa procedura:
Configura il tuo Hub Eventi con un nuovo gruppo di consumatori.
Utilizzare i dati dall'origine dati e inserirli nell'Eventhouse. Consultare la documentazione su come inserire dati dal tuo hub di eventi.
Eseguire la migrazione dei dati cronologici da Time Series Insights
Se è necessario esportare i dati dall'ambiente Time Series Insights, è possibile usare l'API query di Time Series Insights per scaricare gli eventi in batch e serializzarli nel formato richiesto. A seconda della posizione in cui sono stati archiviati i dati esportati, è possibile inserire i dati da Archiviazione di Azure, file localio OneLake.
Eseguire la migrazione dei dati di riferimento
Per eseguire la migrazione dei dati di riferimento, seguire questa procedura:
Usare lo strumento di esplorazione di Time Series Insights o l'API dei dati di riferimento per scaricare il set di dati di riferimento.
Dopo aver creato il set di dati di riferimento, caricarlo nella eventhouse come un'altra tabella. Caricando il set di dati di riferimento, è possibile accedervi e usarlo all'interno dell'ambiente Eventhouse.
Tradurre le query di Time Series Insights nel linguaggio di query Kusto
Per le query, è consigliabile usare il linguaggio di query Kusto in Eventhouse.
Avvenimenti
{
"searchSpan": {
"from": "2021-11-29T22:09:32.551Z",
"to": "2021-12-06T22:09:32.551Z"
},
"predicate": {
"predicateString": "([device_id] = 'device_0') AND ([has_error] != null OR [error_code] != null)"
},
"top": {
"sort": [
{
"input": {
"builtInProperty": "$ts"
},
"order": "Desc"
}
],
"count": 100
}
}
events
| where _timestamp >= datetime("2021-11-29T22:09:32.551Z") and _timestamp < datetime("2021-12-06T22:09:32.551Z") and deviceid == "device_0" and (not(isnull(haserror)) or not(isempty(errorcode)))
| top 100 by _timestamp desc
Aggregati
{
"searchSpan": {
"from": "2021-12-04T22:30:00Z",
"to": "2021-12-06T22:30:00Z"
},
"predicate": {
"eq": {
"left": {
"property": "DeviceId",
"type": "string"
},
"right": "device_0"
}
},
"aggregates": [
{
"dimension": {
"uniqueValues": {
"input": {
"property": "DeviceId",
"type": "String"
},
"take": 1
}
},
"aggregate": {
"dimension": {
"dateHistogram": {
"input": {
"builtInProperty": "$ts"
},
"breaks": {
"size": "2d"
}
}
},
"measures": [
{
"count": {}
},
{
"sum": {
"input": {
"property": "DataValue",
"type": "Double"
}
}
},
{
"min": {
"input": {
"property": "DataValue",
"type": "Double"
}
}
},
{
"max": {
"input": {
"property": "DataValue",
"type": "Double"
}
}
}
]
}
}
]
}
let _q = events | where _timestamp >= datetime("2021-12-04T22:30:00Z") and _timestamp < datetime("2021-12-06T22:30:00Z") and deviceid == "device_0";
let _dimValues0 = _q | project deviceId | sample-distinct 1 of deviceId;
_q
| where deviceid in (_dimValues0) or isnull(deviceid)
| summarize
_meas0 = count(),
_meas1 = iff(isnotnull(any(datavalue)), sum(datavalue), any(datavalue)),
_meas2 = min(datavalue),
_meas3 = max(datavalue),
by _dim0 = deviceid, _dim1 = bin(_timestamp, 2d)
| project
_dim0,
_dim1,
_meas0,
_meas1,
_meas2,
_meas3,
| sort by _dim0 nulls last, _dim1 nulls last