AVRO-toewijzing
Van toepassing op: ✅Microsoft Fabric✅Azure Data Explorer-
Gebruik AVRO-toewijzing om binnenkomende gegevens toe te wijzen aan kolommen in tabellen wanneer uw opnamebronbestand de AVRO-indeling heeft.
Elk element in de toewijzingslijst definieert de toewijzing voor een specifieke kolom. Deze elementen zijn samengesteld uit drie eigenschappen: column
, datatype
en properties
. Meer informatie vindt u in het overzicht van gegevenstoewijzingen.
Elk AVRO-toewijzingselement moet een van de volgende optionele eigenschappen bevatten:
Eigenschap | Type | Beschrijving |
---|---|---|
Veld | string |
Naam van het veld in de AVRO-record. |
Pad | string |
Als de waarde begint met $ , wordt deze beschouwd als het pad naar het veld in het AVRO-document. Dit pad geeft het deel van het AVRO-document op dat de inhoud van de kolom in de tabel wordt. Het pad dat de volledige AVRO-record aangeeft, is $ . Als de waarde niet begint met $ , wordt deze beschouwd als een constante waarde. Paden die speciale tekens bevatten, moeten worden ontsnapt als ['Eigenschapsnaam']. Zie JSONPath-syntaxisvoor meer informatie. |
ConstValue | string |
De constante waarde die moet worden gebruikt voor een kolom in plaats van een bepaalde waarde in het AVRO-bestand. |
Transformeren | string |
Transformatie die moet worden toegepast op de inhoud met toewijzingstransformaties. |
Notitie
Veld en pad sluiten elkaar wederzijds uit.
De volgende alternatieven zijn gelijkwaardig:
[
{"Column": "event_name", "Properties": {"Path": "$.EventName"}}
]
[
{"Column": "event_name", "Properties": {"Field": "EventName"}}
]
Belangrijk
Voor opname in de wachtrij:
- Als de tabel waarnaar wordt verwezen in de toewijzing niet bestaat in de database, wordt deze automatisch gemaakt, omdat geldige gegevenstypen voor alle kolommen worden opgegeven.
- Als een kolom waarnaar in de toewijzing wordt verwezen niet in de tabel bestaat, wordt deze automatisch toegevoegd aan de tabel als de laatste kolom wanneer de eerste keer dat gegevens voor die kolom worden opgenomen, op basis van een geldig gegevenstype voor de kolom. Als u nieuwe kolommen wilt toevoegen aan een toewijzing, gebruikt u de opdracht .alter ingestion mapping.
- Gegevens worden in batches verwerkt met behulp van opname-eigenschappen. Hoe meer afzonderlijke opnametoewijzingseigenschappen worden gebruikt, zoals verschillende ConstValue-waarden, hoe gefragmenteerder de opname wordt, wat kan leiden tot prestatievermindering.
Voorbeelden
JSON-serialisatie
De volgende voorbeeldtoewijzing wordt geserialiseerd als een JSON-tekenreeks wanneer deze wordt opgegeven als onderdeel van de opdracht .ingest
-beheer.
[
{"Column": "event_timestamp", "Properties": {"Field": "Timestamp"}},
{"Column": "event_name", "Properties": {"Field": "Name"}},
{"Column": "event_type", "Properties": {"Field": "Type"}},
{"Column": "event_time", "Properties": {"Field": "Timestamp", "Transform": "DateTimeFromUnixMilliseconds"}},
{"Column": "ingestion_time", "Properties": {"ConstValue": "2021-01-01T10:32:00"}},
{"Column": "full_record", "Properties": {"Path": "$"}}
]
Hier wordt de geserialiseerde JSON-toewijzing opgenomen in de context van de .ingest
-beheeropdracht.
.ingest into Table123 (@"source1", @"source2")
with
(
format = "AVRO",
ingestionMapping =
```
[
{"Column": "column_a", "Properties": {"Field": "Field1"}},
{"Column": "column_b", "Properties": {"Field": "$.[\'Field name with space\']"}}
]
```
)
Vooraf gemaakte toewijzing
Wanneer de toewijzing is vooraf gemaakte, verwijst u naar de toewijzing op naam in de opdracht .ingest
-beheer.
.ingest into Table123 (@"source1", @"source2")
with
(
format="AVRO",
ingestionMappingReference = "Mapping_Name"
)
Identiteitstoewijzing
GEBRUIK AVRO-toewijzing tijdens opname zonder een toewijzingsschema te definiëren (zie identiteitstoewijzing).
.ingest into Table123 (@"source1", @"source2")
with
(
format="AVRO"
)
Verwante inhoud
- Gebruik het hulpprogramma avrotize k2a om een Avro-schema te maken.