Freigeben über


Aufnahmezuordnungen

Erfassungszuordnungen werden während der Aufnahme verwendet, um eingehende Daten Spalten innerhalb von Tabellen zuzuordnen.

Der Daten-Explorer unterstützt verschiedene Arten von Zuordnungen, sowohl zeilenorientiert (CSV, JSON, AVRO und W3CLOGFILE) als auch spaltenorientiert (Parkett und ORC).

Aufnahmezuordnungen können vorab erstellt werden und über den Aufnahmebefehl mithilfe von ingestionMappingReference Parametern referenziert werden. Obwohl die Aufnahme 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 eigenschaftenspezifisch für jede Zuordnung enthält, wie in jeder bestimmten Zuordnungstypseite beschrieben.

Wichtig

Für in die Warteschlange eingereihte Aufnahme:

  • Wenn die tabelle, auf die in der Zuordnung verwiesen wird, nicht in der Datenbank vorhanden ist, wird sie automatisch erstellt, da gültige Datentypen für alle Spalten angegeben werden.
  • Wenn eine Spalte, auf die in der Zuordnung verwiesen wird, in der Tabelle nicht vorhanden ist, wird sie automatisch der Tabelle als letzte Spalte hinzugefügt, wenn daten zum ersten Mal für diese Spalte aufgenommen werden, vorausgesetzt, für die Spalte wird ein gültiger Datentyp angegeben. Wenn Sie einer Zuordnung neue Spalten hinzufügen möchten, verwenden Sie den Befehl ".altergestion mapping".
  • Daten werden mithilfe von Ingestion-Eigenschaften batched. Je unterschiedliche Zuordnungseigenschaften verwendet werden, z. B. verschiedene ConstValue-Werte, desto fragmentierter wird die Aufnahme, was zu Leistungsbeeinträchtigungen führen kann.

Unterstützte Zuordnungstypen

In der folgenden Tabelle werden Zuordnungstypen definiert, die beim Aufnehmen 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 Parkettzuordnung
ORC ORC-Zuordnung
W3CLOGFILE W3CLOGFILE Zuordnung

Identitätszuordnung

Die Aufnahme ist ohne Angabe ingestionMapping oder ingestionMappingReference Eigenschaften möglich. Die Daten werden mithilfe einer Identitätsdatenzuordnung zugeordnet, die vom Schema der Tabelle abgeleitet wird. Das Tabellenschema bleibt unverändert. format -Eigenschaft sollte angegeben werden. Siehe Aufnahmeformate.

Formattyp Format Zuordnungslogik
Tabellarische Datenformate mit definierter Spaltenreihenfolge, z. B. durch Trennzeichen getrennte 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 stammt aus dem Tabellenschema.
Formate mit benannten Spalten oder Datensätzen mit benannten Feldern. JSON, Parkett, Avro, ApacheAvro, Orc, W3CLOGFILE Alle Tabellenspalten werden Datenspalten oder Datensatzfeldern mit demselben Namen zugeordnet (Groß-/Kleinschreibung wird beachtet). Der Spaltendatentyp stammt aus dem Tabellenschema.

Warnung

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

Zuordnungstransformationen

Einige der Datenformatzuordnungen (Parkett, JSON und AVRO) unterstützen einfache und nützliche Aufnahmezeittransformationen. Wenn für das Szenario eine komplexere Verarbeitung zur Aufnahmezeit erforderlich ist, verwenden Sie die Update-Richtlinie, mit der einfache Verarbeitung mithilfe des KQL-Ausdrucks definiert werden kann.

Pfadabhängige Transformation Beschreibung Bedingungen
PropertyBagArrayToDictionary Transformiert JSON-Array von Eigenschaften, z {events:[{"n1":"v1"},{"n2":"v2"}]}. B. zum Wörterbuch und serialisiert es in ein gültiges JSON-Dokument, z {"n1":"v1","n2":"v2"}. B. . Verfügbar für JSON, Parquetund AVROORC Zuordnungstypen.
SourceLocation Name des Speicherartefaktes, das die Daten bereitgestellt hat, geben Sie eine Zeichenfolge ein (z. B. das Feld "BaseUri" des Blobs). Verfügbar für CSV, , JSON, AVROParquetund ORCW3CLOGFILE Zuordnungstypen.
SourceLineNumber Offset relativ zu diesem Speicherartefakt, typ long (beginnend mit "1" und Inkrementierung pro neuen Datensatz). Verfügbar für CSV, , JSON, AVROParquetund ORCW3CLOGFILE Zuordnungstypen.
DateTimeFromUnixSeconds Wandelt die Zahl zurück, die Unix-Zeit (Sekunden seit 1970-01-01) in UTC-Datums-/Uhrzeitzeichenfolge darstellt. Verfügbar für JSON, Parquetund AVROORC Zuordnungstypen.
DateTimeFromUnixMilliseconds Konvertiert die Zahl, die Unix-Zeit (Millisekunden seit 1970-01-01) in UTC-Datums-/Uhrzeitzeichenfolge darstellt. Verfügbar für JSON, Parquetund AVROORC Zuordnungstypen.
DateTimeFromUnixMicroseconds Wandelt die Zahl zurück, die Unix-Zeit (Mikrosekunden seit 1970-01-01) in utc datetime string darstellt. Verfügbar für JSON, Parquetund AVROORC Zuordnungstypen.
DateTimeFromUnixNanoseconds Konvertiert die Zahl, die Unix-Zeit (Nanosekunden seit 1970-01-01) in UTC-Datums-/Uhrzeitzeichenfolge darstellt. Verfügbar für JSON, Parquetund AVROORC Zuordnungstypen.
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 JSON, Parquetund AVROORC Zuordnungstypen.
BytesAsBase64 Behandelt die Daten als Bytearray und konvertiert sie in eine base64-codierte Zeichenfolge. Verfügbar für AVRO zuordnungstyp. Für ApacheAvro das Format sollte bytes der Schematyp des zugeordneten Datenfelds oder fixed Avro-Typ sein. Für Avro das Format sollte das Feld ein Array sein, das Bytewerte aus dem Bereich [0-255] enthält. null wird aufgenommen, wenn die Daten kein gültiges Bytearray darstellen.

Zuordnungstransformationsbeispiele

DropMappedFields Transformation:

Aufgrund der folgenden JSON-Inhalte:

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

Die folgende Datenzuordnung ordnet das gesamte Props Objekt einer dynamischen Spalte Props zu, ohne bereits zugeordnete Spalten auszuschließen (Props.EventName ist bereits in 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 aufgenommenen Daten sehen wie folgt aus:

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

BytesAsBase64 Transformation

Aufgrund des folgenden AVRO-Dateiinhalts:

{
    "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 aufgenommenen Daten sehen wie folgt aus:

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