Betöltési leképezések

A betöltési leképezések a betöltés során a bejövő adatok táblákon belüli oszlopokra való leképezésére szolgálnak.

Data Explorer különböző típusú leképezéseket támogat, sororientált (CSV, JSON, AVRO és W3CLOGFILE) és oszloporientált (Parquet és ORC).

A betöltési leképezések előre létrehozhatók , és paraméterekkel ingestionMappingReference hivatkozhatók a betöltési parancsból. A betöltés azonban leképezés megadása nélkül is lehetséges. További információ: Identitásleképezés.

A leképezési lista minden eleme három mezőből áll:

Tulajdonság Kötelező Leírás
Oszlop ✔️ Céloszlop neve a táblában.
Datatype (Adattípus) Adattípus, amellyel létre kívánja hozni a megfeleltetett oszlopot, ha még nem létezik a táblában.
Tulajdonságok Az egyes leképezésekre jellemző tulajdonságokat tartalmazó tulajdonságcsomag az egyes leképezési típuslapon leírtak szerint.

Fontos

Várólista-betöltéshez:

  • Ha a leképezésben hivatkozott tábla nem létezik az adatbázisban, automatikusan létrejön, mivel minden oszlophoz érvényes adattípusok vannak megadva.
  • Ha a megfeleltetésben hivatkozott oszlop nem létezik a táblában, a rendszer automatikusan hozzáadja azt a táblához, mint az oszlop első adatbetöltésének utolsó oszlopa, mivel az oszlophoz érvényes adattípus van megadva. Ha új oszlopokat szeretne hozzáadni egy leképezéshez, használja az .alter ingestion mapping parancsot.
  • Az adatok kötegelése betöltési tulajdonságok használatával történik. Minél több különböző betöltési leképezési tulajdonságot használ, például különböző ConstValue értékeket, annál töredezettebbé válik a betöltés, ami teljesítménycsökkenéshez vezethet.

Támogatott leképezési típusok

Az alábbi táblázat egy adott formátumú külső adatok betöltéséhez vagy lekérdezéséhez használandó leképezési típusokat határozza meg.

Adatformátum Leképezés típusa
CSV CSV-leképezés
TSV CSV-leképezés
TSVe CSV-leképezés
PSV CSV-leképezés
SCSV CSV-leképezés
SOHsv CSV-leképezés
TXT CSV-leképezés
NYERS CSV-leképezés
JSON JSON-megfeleltetés
AVRO AVRO-leképezés
APACHEAVRO AVRO-leképezés
Parquet Parquet-leképezés
ORK ORC-leképezés
W3CLOGFILE W3CLOGFILE leképezése

Identitásleképezés

A betöltés a tulajdonságok ingestionMapping megadása ingestionMappingReference nélkül is lehetséges. Az adatok a tábla sémájából származtatott identitásadatok leképezésével lesznek leképezve. A táblaséma változatlan marad. format tulajdonságot kell megadni. Lásd a betöltési formátumokat.

Formátum típusa Formátum Leképezési logika
Táblázatos adatformátumok az oszlopok meghatározott sorrendjével, például határolójellel elválasztott vagy egysoros formátumokkal. CSV, TSV, TSVe, PSV, SCSV, Txt, SOHsv, Raw Minden táblaoszlop a megfelelő sorrendben van leképezve az adatoszlopra, hogy azok megjelenjenek az adatforrásban. Az oszlop adattípusa a táblasémából származik.
Elnevezett oszlopokat vagy rekordokat tartalmazó formátumok nevesített mezőkkel. JSON, Parquet, Avro, ApacheAvro, Orc, W3CLOGFILE Minden táblaoszlop azonos nevű (kis- és nagybetűket megkülönböztető) adatoszlopra vagy rekordmezőre van leképezve. Az oszlop adattípusa a táblasémából származik.

Figyelmeztetés

A táblaséma és az adatok struktúrája közötti eltérések, például az oszlop- vagy mezőadattípusok, az oszlop- vagy mezőnevek vagy azok száma üres vagy helytelen adatbetöltést eredményezhetnek.

Átalakítások leképezése

Egyes adatformátum-leképezések (Parquet, JSON és AVRO) egyszerű és hasznos betöltési idejű átalakításokat támogatnak. Ha a forgatókönyv betöltésekor összetettebb feldolgozásra van szükség, használja az Update szabályzatot, amely lehetővé teszi az egyszerűsített feldolgozás meghatározását KQL-kifejezéssel.

Elérésiút-függő átalakítás Description Feltételek
PropertyBagArrayToDictionary Átalakítja a JSON-tulajdonságtömböt ,például {events:[{"n1":"v1"},{"n2":"v2"}]}szótárba, és szerializálja azt érvényes JSON-dokumentummá, például {"n1":"v1","n2":"v2"}: . A , ParquetAVRO és ORC leképezési típusok esetében JSONérhető el.
SourceLocation Az adatokat biztosító tárolási összetevő neve, írja be a sztringet (például a blob "BaseUri" mezőjét). Elérhető a CSV, JSON, Parquet, AVROORC és W3CLOGFILE leképezési típusokhoz.
SourceLineNumber Eltolás az adott tárolási összetevőhöz képest, írja be a hosszú értéket (az "1"-től kezdve és az új rekordonkénti növekményig). Elérhető a következő típusokban: JSON, Parquet, ORCAVROés W3CLOGFILE leképezési típusok.
DateTimeFromUnixSeconds A unix-time (1970-01-01 óta másodperc) értéket UTC datetime sztringgé alakítja. A , ParquetAVRO és ORC leképezési típusok esetében JSONérhető el.
DateTimeFromUnixMilliseconds A unix-time (1970-01-01 óta ezredmásodperc) értéket UTC datetime sztringgé alakítja. A , ParquetAVRO és ORC leképezési típusok esetében JSONérhető el.
DateTimeFromUnixMicroseconds A unix-time (1970-01-01 óta mikroszekond) értéket UTC datetime sztringgé alakítja. A , ParquetAVRO és ORC a leképezési típusokhoz JSONérhető el.
DateTimeFromUnixNanoseconds A unix-time (1970-01-01 óta nanoszekundum) értéket utc datetime sztringgé alakítja. A , ParquetAVRO és ORC a leképezési típusokhoz JSONérhető el.
DropMappedFields Leképez egy objektumot a JSON-dokumentumban egy oszlopra, és eltávolítja a más oszlopleképezések által már hivatkozott beágyazott mezőket. A , ParquetAVRO és ORC a leképezési típusokhoz JSONérhető el.
BytesAsBase64 Az adatokat bájttömbként kezeli, és egy base64 kódolású sztringgé alakítja. Megfeleltetési típushoz AVRO érhető el. Formátum esetén ApacheAvro a leképezett adatmező sématípusának vagy fixed Avro-típusnak kell lenniebytes. Formátum esetén Avro a mezőnek [0–255] tartomány bájtértékeit tartalmazó tömbnek kell lennie. null akkor van betöltve, ha az adatok nem jelentenek érvényes bájttömböt.

Leképezési átalakítási példák

DropMappedFields Átalakulás:

A következő JSON-tartalomra tekintettel:

{
    "Time": "2012-01-15T10:45",
    "Props": {
        "EventName": "CustomEvent",
        "Revenue": 0.456
    }
}

Az alábbi adatleképezés a teljes Props objektumot dinamikus oszlopba Props képezi le, miközben kizárja a már leképezett oszlopokat (Props.EventName a leképezés már oszlopba EventNamevan képezve, ezért ki van zárva).

[
    { "Column": "Time", "Properties": { "Path": "$.Time" } },
    { "Column": "EventName", "Properties": { "Path": "$.Props.EventName" } },
    { "Column": "Props", "Properties": { "Path": "$.Props", "Transform":"DropMappedFields" } },
]

A betöltött adatok a következőképpen néznek ki:

Idő EventName Kellékek
2012-01-15T10:45 CustomEvent {"Revenue": 0.456}

BytesAsBase64 Átalakulás

Az AVRO-fájl tartalma a következő:

{
    "Time": "2012-01-15T10:45",
    "Props": {
        "id": [227,131,34,92,28,91,65,72,134,138,9,133,51,45,104,52]
    }
}

Az alábbi adatleképezés kétszer leképezi az azonosító oszlopot az átalakítással és anélkül.

[
    { "Column": "Id", "Properties": { "Path": "$.props.id" } },
    { "Column": "Base64EncodedId", "Properties": { "Path": "$.props.id", "Transform":"BytesAsBase64" } },
]

A betöltött adatok a következőképpen néznek ki:

Id Base64EncodedId
[227,131,34,92,28,91,65,72,134,138,9,133,51,45,104,52] 44MiXBxbQUiGigmFMy1oNA==