Partilhar via


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

Ingerir novos dados

Use as seguintes etapas para começar a ingerir novos dados em sua Eventhouse:

  1. Configure seu hub de eventos com um novo grupo de consumidores.

  2. 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:

  1. Use o Time Series Insights Explorer ou a API de dados de referência para baixar o conjunto de dados de referência.

  2. 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