Como migrar o Time Series Insights Gen1 para a Inteligência de Dados em Tempo Real no Microsoft Fabric
Observação
O serviço Time Series Insights será desativado em 7 de julho de 2024. Considere migrar ambientes existentes para soluções alternativas o mais rápido possível. Para obter mais informações sobre a substituição e a migração, visite nossa documentação.
Visão geral
O Eventhouse é o banco de dados de série temporal da Inteligência em Tempo Real. Ele serve como destino da migração de dados fora do Time Series Insights.
Pré-requisitos
- Um espaço de trabalho com uma capacidade habilitada para o Microsoft Fabric
- Um Event house no seu espaço de trabalho
Ingerir novos dados
Use as seguintes etapas para começar a ingerir novos dados no Eventhouse:
Configure o hub de eventos com um novo grupo de consumidores.
Consuma dados da fonte de dados e ingira-os no Eventhouse. Veja a documentação sobre como ingerir dados por meio do hub de eventos.
Migrar dados históricos do Time Series Insights
Caso você precise exportar dados do ambiente do Time Series Insights, use a API de Consulta do Time Series Insights para baixar os eventos em lotes e serializá-los no formato necessário. Dependendo de onde armazenou os dados exportados, você pode ingerir os dados do Armazenamento do Azure, dos arquivos locais ou do OneLake.
Migrar dados de referência
Use as seguintes etapas para migrar os dados de referência:
Use o Gerenciador do Time Series Insights ou a API de Dados de Referência para baixar o conjunto de dados de referência.
Depois de obter o conjunto de dados de referência, carregue-o no Eventhouse como outra tabela. Ao carregar o conjunto de dados de referência, você pode acessá-lo e utilizá-lo no seu ambiente do Eventhouse.
Converter consultas do Time Series Insights para a Linguagem de Consulta Kusto
No caso das consultas, a recomendação é usar a Linguagem de Consulta Kusto no Eventhouse.
Eventos
{
"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
Agregações
{
"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