Share via


ORC-leképezés

Az ORC-megfeleltetéssel a bejövő adatokat táblákon belüli oszlopokra képezheti le, ha a betöltési forrásfájl ORC formátumú.

A leképezési lista minden eleme meghatározza egy adott oszlop leképezését. Ezek az elemek három tulajdonságból épülnek fel: column, datatypeés properties. További információ az adatleképezések áttekintésében.

Minden ORC-leképezési elemnek tartalmaznia kell az alábbi választható tulajdonságok egyikét:

Tulajdonság Típus Description
Mező string Az ORC rekord mezőjének neve.
Elérési út string Ha az érték azzal kezdődik $ , hogy a rendszer az ORC-dokumentum azon mezőjének elérési útjaként értelmezi, amely a tábla oszlopának tartalma lesz. A teljes ORC rekordot jelölő elérési út a következő $: . Ha az érték nem azzal kezdődik $ , hogy állandó értékként van értelmezve. A speciális karaktereket tartalmazó elérési utakat "Tulajdonságnév" néven kell feloldani. További információ: JSONPath szintaxis.
ConstValue string Az ORC-fájlban lévő érték helyett egy oszlophoz használandó állandó érték.
Átalakítás string Átalakítás, amelyet leképezési átalakításokkal kell alkalmazni a tartalomra.

Megjegyzés

A mező és az elérési út kölcsönösen kizáró.

A következő alternatívák egyenértékűek:

[
  {"Column": "event_name", "Properties": {"Path": "$.EventName"}}
]
[
  {"Column": "event_name", "Properties": {"Field": "EventName"}}
]

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.

Példák

[
  {"Column": "event_timestamp", "Properties": {"Path": "$.Timestamp"}},
  {"Column": "event_name",      "Properties": {"Path": "$.Event.Name"}},
  {"Column": "event_type",      "Properties": {"Path": "$.Event.Type"}},
  {"Column": "event_time",      "Properties": {"Path": "$.Timestamp", "Transform": "DateTimeFromUnixMilliseconds"}},
  {"Column": "ingestion_time",  "Properties": {"ConstValue": "2021-01-01T10:32:00"}},
  {"Column": "full_record",     "Properties": {"Path": "$"}}
]

A fenti leképezés JSON-sztringként van szerializálva, ha az a .ingest felügyeleti parancs részeként van megadva.

.ingest into Table123 (@"source1", @"source2")
  with
  (
      format = "orc",
      ingestionMapping =
      ```
      [
        {"Column": "column_a", "Properties": {"Path": "$.Field1"}},
        {"Column": "column_b", "Properties": {"Path": "$.[\'Field name with space\']"}}
      ]
      ```
  )

Előre létrehozott leképezés

A leképezés előre létrehozott létrehozásakor hivatkozzon a leképezésre név szerint a .ingest felügyeleti parancsban.

.ingest into Table123 (@"source1", @"source2")
    with
    (
        format="orc",
        ingestionMappingReference = "ORC_Mapping"
    )

Identitásleképezés

Orc-leképezés használata a betöltés során leképezési séma definiálása nélkül (lásd : identitásleképezés).

.ingest into Table123 (@"source1", @"source2")
    with
    (
        format="orc"
    )