Bagikan melalui


Memigrasikan Time Series Insights Gen1 ke Real-Time Intelligence di Microsoft Fabric

Catatan

Layanan Time Series Insights akan dihentikan pada 7 Juli 2024. Pertimbangkan untuk memigrasikan lingkungan yang ada ke solusi alternatif sesegera mungkin. Untuk informasi selengkapnya tentang penghentian dan migrasi, kunjungi dokumentasi kami.

Gambaran Umum

Eventhouse adalah database rangkaian waktu dalam Real-Time Intelligence. Ini berfungsi sebagai target untuk memigrasikan data dari Time Series Insights.

Prasyarat

Serap data baru

Gunakan langkah-langkah berikut untuk mulai menyerap data baru ke Eventhouse Anda:

  1. Konfigurasikan hub peristiwa Anda dengan grup konsumen baru.

  2. Konsumsi data dari sumber data dan serap ke Eventhouse Anda. Lihat dokumentasi tentang cara menyerap data dari pusat aktivitas Anda.

Memigrasikan data historis dari Time Series Insights

Jika Anda perlu mengekspor data dari lingkungan Time Series Insights, Anda dapat menggunakan TIME Series Insights Query API untuk mengunduh peristiwa dalam batch dan menserialisasikannya dalam format yang diperlukan. Bergantung pada tempat Anda menyimpan data yang diekspor, Anda dapat menyerap data dari Azure Storage, file lokal, atau OneLake.

Memigrasikan data referensi

Gunakan langkah-langkah berikut untuk memigrasikan data referensi:

  1. Gunakan Time Series Insights Explorer atau API Data Referensi untuk mengunduh himpunan data referensi.

  2. Setelah Anda memiliki himpunan data referensi, unggah ke Eventhouse Anda sebagai tabel lain. Dengan mengunggah himpunan data referensi, Anda dapat mengakses dan menggunakannya dalam lingkungan Eventhouse Anda.

Menerjemahkan Kueri Time Series Insights ke Bahasa Kueri Kusto

Untuk kueri, rekomendasinya adalah menggunakan Bahasa Kueri Kusto di Eventhouse.

Acara

{
  "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

Agregat

{
    "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