Compartir a través de


Migración de Time Series Insights Gen1 a inteligencia en tiempo real en Microsoft Fabric

Nota:

El servicio Time Series Insights se retirará el 7 de julio de 2024. Considere la posibilidad de migrar los entornos existentes a otras soluciones lo antes posible. Para más información sobre la entrada en desuso y la migración, consulte nuestra documentación.

Información general

Eventhouse es la base de datos de series temporales en Inteligencia en tiempo real. Sirve como destino para migrar datos fuera de Time Series Insights.

Requisitos previos

Ingesta de nuevos datos

Siga estos pasos para empezar a ingerir nuevos datos en Eventhouse:

  1. Configure el centro de eventos con un nuevo grupo de consumidores.

  2. Consumir datos del origen de datos e ingerirlos en Eventhouse. Consulte la documentación sobre cómo ingerir datos del centro de eventos.

Migración de datos históricos de Time Series Insights

Si necesita exportar datos desde el entorno de Time Series Insights, puede usar la API de consulta de Time Series Insights para descargar los eventos en lotes y serializarlos en el formato necesario. En función de dónde almacene los datos exportados, puede ingerir los datos de Azure Storage, archivos locales, o OneLake.

Migración de datos de referencia

Siga estos pasos para migrar datos de referencia:

  1. Use el Explorador de Time Series Insights o la API de datos de referencia para descargar el conjunto de datos de referencia.

  2. Una vez que tenga el conjunto de datos de referencia, cargarlo en Eventhouse como otra tabla. Al cargar el conjunto de datos de referencia, puede acceder a él y usarlo en el entorno de Eventhouse.

Traducción de consultas de Time Series Insights al Lenguaje de consulta Kusto

En el caso de las consultas, la recomendación es usar el Lenguaje de consulta Kusto en 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

Aggregates (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