Erfassungszuordnungen

Erfassungszuordnungen werden während der Erfassung verwendet, um eingehende Daten Spalten in Tabellen zuzuordnen.

Data Explorer unterstützt verschiedene Arten von Zuordnungen, sowohl zeilenorientiert (CSV, JSON, AVRO und W3CLOGFILE) als auch spaltenorientiert (Parquet und ORC).

Erfassungszuordnungen können vorab erstellt und über den Erfassungsbefehl mithilfe ingestionMappingReference von Parametern referenziert werden. Obwohl die Erfassung ohne Angabe einer Zuordnung möglich ist. Weitere Informationen finden Sie unter Identitätszuordnung.

Jedes Element in der Zuordnungsliste wird aus drei Feldern erstellt:

Eigenschaft Erforderlich BESCHREIBUNG
Column ✔️ Name der Zielspalte in der Tabelle.
Datentyp Datentyp, mit dem die zugeordnete Spalte erstellt werden soll, wenn sie noch nicht in der Tabelle vorhanden ist.
Eigenschaften Eigenschaftenbehälter, der spezifische Eigenschaften für jede Zuordnung enthält, wie auf der jeweiligen Zuordnungstypseite beschrieben.

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.

Unterstützte Zuordnungstypen

In der folgenden Tabelle werden Zuordnungstypen definiert, die beim Erfassen oder Abfragen externer Daten eines bestimmten Formats verwendet werden sollen.

Datenformat Zuordnungstyp
CSV CSV-Zuordnung
TSV CSV-Zuordnung
TSVe CSV-Zuordnung
PSV CSV-Zuordnung
SCSV CSV-Zuordnung
SOHsv CSV-Zuordnung
TXT CSV-Zuordnung
RAW CSV-Zuordnung
JSON JSON-Zuordnung
AVRO AVRO-Zuordnung
APACHEAVRO AVRO-Zuordnung
Parquet Parquet-Zuordnung
ORC ORC-Zuordnung
W3CLOGFILE W3CLOGFILE-Zuordnung

Identitätszuordnung

Die Erfassung ist ohne Angabe ingestionMapping von Eigenschaften oder ingestionMappingReference möglich. Die Daten werden mithilfe einer Identitätsdatenzuordnung zugeordnet, die vom Schema der Tabelle abgeleitet ist. Das Tabellenschema bleibt unverändert. format -Eigenschaft muss angegeben werden. Weitere Informationen finden Sie unter Erfassungsformate.

Formattyp Format Zuordnungslogik
Tabellarische Datenformate mit definierter Reihenfolge von Spalten, z. B. trennzeichentrennte oder einzeilige Formate. CSV, TSV, TSVe, PSV, SCSV, Txt, SOHsv, Raw Alle Tabellenspalten werden in ihrer jeweiligen Reihenfolge datenspalten zugeordnet, damit sie in der Datenquelle angezeigt werden. Der Spaltendatentyp wird aus dem Tabellenschema übernommen.
Formate mit benannten Spalten oder Datensätzen mit benannten Feldern. JSON, Parquet, Avro, ApacheAvro, Orc, W3CLOGFILE Alle Tabellenspalten werden Datenspalten oder Datensatzfeldern mit demselben Namen zugeordnet (Groß-/Kleinschreibung beachten). Der Spaltendatentyp wird aus dem Tabellenschema übernommen.

Warnung

Jeder Konflikt zwischen dem Tabellenschema und der Struktur der Daten, z. B. Spalten- oder Felddatentypen, Spalten- oder Feldnamen oder deren Anzahl, kann zu einer leeren oder falschen Datenerfassung führen.

Zuordnungstransformationen

Einige der Datenformatzuordnungen (Parquet, JSON und AVRO) unterstützen einfache und nützliche Transformationen zur Erfassungszeit. Wenn das Szenario eine komplexere Verarbeitung zur Erfassungszeit erfordert, verwenden Sie die Updaterichtlinie, die das Definieren einer einfachen Verarbeitung mithilfe des KQL-Ausdrucks ermöglicht.

Pfadabhängige Transformation Beschreibung Bedingungen
PropertyBagArrayToDictionary Transformiert das JSON-Array von Eigenschaften, z {events:[{"n1":"v1"},{"n2":"v2"}]}. B. , in ein Wörterbuch und serialisiert es in ein gültiges JSON-Dokument, z. B {"n1":"v1","n2":"v2"}. . Verfügbar für JSONdie Zuordnungstypen , Parquetund AVROORC
SourceLocation Name des Speicherartefakts, das die Daten bereitgestellt hat, geben Sie Zeichenfolge ein (z. B. das Feld "BaseUri" des Blobs). Verfügbar für CSVDie Zuordnungstypen , JSONParquet, AVRO, und ORCW3CLOGFILE.
SourceLineNumber Offset relativ zu diesem Speicherartefakt, geben Sie long ein (beginnend mit "1" und inkrementiert pro neuen Datensatz). Verfügbar in: JSON, Parquet, AVROund ORCW3CLOGFILE Zuordnungstypen.
DateTimeFromUnixSeconds Konvertiert die Zahl, die unix-time (Sekunden seit 1970-01-01) in die UTC-datetime-Zeichenfolge darstellt. Verfügbar für JSONdie Zuordnungstypen , Parquetund AVROORC
DateTimeFromUnixMilliseconds Konvertiert die Zahl, die unix-time (Millisekunden seit 1970-01-01) in die UTC-datetime-Zeichenfolge darstellt. Verfügbar für JSONdie Zuordnungstypen , Parquetund AVROORC
DateTimeFromUnixMicroseconds Konvertiert die Zahl, die unix-time (Mikrosekunden seit 1970-01-01) in die UTC-datetime-Zeichenfolge darstellt. Verfügbar für JSONdie Zuordnungstypen , Parquetund AVROORC
DateTimeFromUnixNanoseconds Konvertiert die Zahl, die unix-time (Nanosekunden seit 1970-01-01) in die UTC-datetime-Zeichenfolge darstellt. Verfügbar für JSONdie Zuordnungstypen , Parquetund AVROORC
DropMappedFields Ordnet ein Objekt im JSON-Dokument einer Spalte zu und entfernt alle geschachtelten Felder, auf die bereits von anderen Spaltenzuordnungen verwiesen wird. Verfügbar für JSONdie Zuordnungstypen , Parquetund AVROORC
BytesAsBase64 Behandelt die Daten als Bytearray und konvertiert sie in eine Base64-codierte Zeichenfolge. Verfügbar für AVRO den Zuordnungstyp. Für ApacheAvro das Format sollte der Schematyp des zugeordneten Datenfelds oder fixed der Avro-Typ seinbytes. Für Avro das Format sollte das Feld ein Array sein, das Bytewerte aus dem [0-255]-Bereich enthält. null wird erfasst, wenn die Daten kein gültiges Bytearray darstellen.

Beispiele für die Zuordnungstransformation

DropMappedFields Transformation:

Bei den folgenden JSON-Inhalten:

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

Die folgende Datenzuordnung ordnet das gesamte Props Objekt einer dynamischen Spalte Props zu, während bereits zugeordnete Spalten ausgeschlossen werden (Props.EventName ist bereits der Spalte EventNamezugeordnet, sodass es ausgeschlossen ist).

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

Die erfassten Daten sehen wie folgt aus:

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

BytesAsBase64 Transformation

Bei den folgenden AVRO-Dateiinhalten:

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

Die folgende Datenzuordnung ordnet die Id-Spalte zweimal mit und ohne transformation zu.

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

Die erfassten Daten sehen wie folgt aus:

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