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 JSON die Zuordnungstypen , Parquet und AVRO ORC |
SourceLocation | Name des Speicherartefakts, das die Daten bereitgestellt hat, geben Sie Zeichenfolge ein (z. B. das Feld "BaseUri" des Blobs). | Verfügbar für CSV Die Zuordnungstypen , JSON Parquet , AVRO , und ORC W3CLOGFILE . |
SourceLineNumber | Offset relativ zu diesem Speicherartefakt, geben Sie long ein (beginnend mit "1" und inkrementiert pro neuen Datensatz). | Verfügbar in: JSON , Parquet , AVRO und ORC W3CLOGFILE Zuordnungstypen. |
DateTimeFromUnixSeconds | Konvertiert die Zahl, die unix-time (Sekunden seit 1970-01-01) in die UTC-datetime-Zeichenfolge darstellt. | Verfügbar für JSON die Zuordnungstypen , Parquet und AVRO ORC |
DateTimeFromUnixMilliseconds | Konvertiert die Zahl, die unix-time (Millisekunden seit 1970-01-01) in die UTC-datetime-Zeichenfolge darstellt. | Verfügbar für JSON die Zuordnungstypen , Parquet und AVRO ORC |
DateTimeFromUnixMicroseconds | Konvertiert die Zahl, die unix-time (Mikrosekunden seit 1970-01-01) in die UTC-datetime-Zeichenfolge darstellt. | Verfügbar für JSON die Zuordnungstypen , Parquet und AVRO ORC |
DateTimeFromUnixNanoseconds | Konvertiert die Zahl, die unix-time (Nanosekunden seit 1970-01-01) in die UTC-datetime-Zeichenfolge darstellt. | Verfügbar für JSON die Zuordnungstypen , Parquet und AVRO ORC |
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 die Zuordnungstypen , Parquet und AVRO ORC |
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 EventName
zugeordnet, 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== |
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für