Migrando o Time Series Insights Gen1 para o Real-Time Intelligence no Microsoft Fabric
Nota
O serviço Time Series Insights será desativado em 7 de julho de 2024. Considere migrar os ambientes existentes para soluções alternativas o mais rápido possível. Para obter mais informações sobre a substituição e migração, visite nossa documentação.
Descrição geral
Eventhouse é a base de dados de séries temporais em Real-Time Intelligence. Ele serve como destino para migrar dados do Time Series Insights.
Pré-requisitos
- Um espaço de trabalho com uma capacidade habilitada para Microsoft Fabric
- Uma casa de eventos no seu espaço de trabalho
Ingerir novos dados
Use as seguintes etapas para começar a ingerir novos dados em sua Eventhouse:
Configure seu hub de eventos com um novo grupo de consumidores.
Consuma dados da fonte de dados e ingira-os em sua Eventhouse. Consulte a documentação sobre como ingerir dados do seu hub de eventos.
Migrar dados históricos do Time Series Insights
Se você precisar exportar dados do seu ambiente do Time Series Insights, poderá usar a API de Consulta do Time Series Insights para baixar os eventos em lotes e serializá-los no formato necessário. Dependendo de onde você armazenou os dados exportados, você pode ingerir os dados do Armazenamento do Azure, arquivos locais ou OneLake.
Migrar dados de referência
Use as seguintes etapas para migrar dados de referência:
Use o Time Series Insights Explorer ou a API de dados de referência para baixar o conjunto de dados de referência.
Depois de ter o conjunto de dados de referência, carregue-o para a sua Eventhouse como outra tabela. Ao carregar o conjunto de dados de referência, você pode acessá-lo e utilizá-lo em seu ambiente Eventhouse.
Traduzir Consultas do Time Series Insights para Kusto Query Language
Para consultas, a recomendação é usar Kusto Query Language no Eventhouse.
evento
{
"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
Agregados
{
"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