Freigeben über


ORC-Zuordnung

Verwenden Sie die ORC-Zuordnung, um eingehende Daten Spalten in Tabellen zuzuordnen, wenn Die Erfassungsquelldatei im ORC-Format vorliegt.

Jedes Element in der Zuordnungsliste definiert die Zuordnung für eine bestimmte Spalte. Diese Elemente werden aus drei Eigenschaften erstellt: column, datatypeund properties. Weitere Informationen finden Sie in der Übersicht über Datenzuordnungen.

Jedes ORC-Zuordnungselement muss eine der folgenden optionalen Eigenschaften enthalten:

Eigenschaft Typ BESCHREIBUNG
Feld string Name des Felds im ORC-Eintrag.
Pfad string Wenn der Wert mit $ beginnt, wird er als Pfad zu dem Feld im ORC-Dokument interpretiert, das zum Inhalt der Spalte in der Tabelle wird. Der Pfad, der den gesamten ORC-Eintrag angibt, ist $. Wenn der Wert nicht mit $ beginnt, wird er als konstanter Wert interpretiert. Pfade, die Sonderzeichen enthalten, sollten als Escapezeichen ['Eigenschaftsname'] verwendet werden. Weitere Informationen finden Sie unter JSONPath-Syntax.
ConstValue string Der konstante Wert, der für eine Spalte anstelle eines Werts in der ORC-Datei verwendet werden soll.
Transformieren string Transformation, die mit Zuordnungstransformationen auf den Inhalt angewendet werden soll.

Hinweis

Feld und Pfad schließen sich gegenseitig aus.

Die folgenden Alternativen sind gleichwertig:

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

Wichtig

Für die Erfassung in die Warteschlange:

  • Wenn die Tabelle, auf die in der Zuordnung verwiesen wird, in der Datenbank nicht vorhanden ist, wird sie automatisch erstellt, da für alle Spalten gültige Datentypen angegeben werden.
  • Wenn eine Spalte, auf die in der Zuordnung verwiesen wird, in der Tabelle nicht vorhanden ist, wird sie automatisch als letzte Spalte hinzugefügt, wenn daten zum ersten Mal für diese Spalte erfasst werden, sofern ein gültiger Datentyp für die Spalte angegeben ist. Um einer Zuordnung neue Spalten hinzuzufügen, verwenden Sie den Befehl .alter ingestion mapping.
  • Daten werden mithilfe von Erfassungseigenschaften in Batches verarbeitet. Je unterschiedlicher die verwendeten Erfassungszuordnungseigenschaften, z. B. unterschiedliche ConstValue-Werte, verwendet werden, desto fragmentierter wird die Erfassung, was zu Leistungseinbußen führen kann.

Beispiele

[
  {"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": "$"}}
]

Die obige Zuordnung wird als JSON-Zeichenfolge serialisiert, wenn sie im Rahmen des .ingest Verwaltungsbefehls bereitgestellt wird.

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

Vorab erstellte Zuordnung

Wenn die Zuordnung vorab erstellt wurde, verweisen Sie im Verwaltungsbefehl anhand des Namens auf die .ingest Zuordnung.

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

Identitätszuordnung

Verwenden Sie die ORC-Zuordnung während der Erfassung, ohne ein Zuordnungsschema zu definieren (siehe Identitätszuordnung).

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