Aufnahmezuordnungen
Gilt für: ✅Microsoft Fabric✅Azure Data Explorer
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 vorkonfiguriert werden und über den Aufnahmebefehl mithilfe von ingestionMappingReference
Parametern referenziert werden. Die Aufnahme ist möglich, ohne eine Zuordnung anzugeben. 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 ist. 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 , , Parquet und AVRO ORC 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 , Parquet , ORC AVRO und W3CLOGFILE Zuordnungstypen. |
SourceLineNumber | Offset relativ zu diesem Speicherartefakt, typ long (beginnend mit "1" und Inkrementierung pro neuen Datensatz). | Verfügbar für CSV , , JSON , Parquet , ORC AVRO und W3CLOGFILE Zuordnungstypen. |
DateTimeFromUnixSeconds | Wandelt die Zahl zurück, die Unix-Zeit (Sekunden seit 1970-01-01) in UTC-Datums-/Uhrzeitzeichenfolge darstellt. | Verfügbar für CSV , , JSON , AVRO Parquet und ORC Zuordnungstypen. |
DateTimeFromUnixMilliseconds | Konvertiert die Zahl, die Unix-Zeit (Millisekunden seit 1970-01-01) in UTC-Datums-/Uhrzeitzeichenfolge darstellt. | Verfügbar für CSV , , JSON , AVRO Parquet und ORC Zuordnungstypen. |
DateTimeFromUnixMicroseconds | Wandelt die Zahl zurück, die Unix-Zeit (Mikrosekunden seit 1970-01-01) in utc datetime string darstellt. | Verfügbar für CSV , , JSON , AVRO Parquet und ORC Zuordnungstypen. |
DateTimeFromUnixNanoseconds | Konvertiert die Zahl, die Unix-Zeit (Nanosekunden seit 1970-01-01) in UTC-Datums-/Uhrzeitzeichenfolge darstellt. | Verfügbar für CSV , , JSON , AVRO Parquet und ORC 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 , , Parquet und AVRO ORC 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 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 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== |