Opnametoewijzingen
Opnametoewijzingen worden tijdens de opname gebruikt om binnenkomende gegevens toe te wijzen aan kolommen in tabellen.
Data Explorer ondersteunt verschillende typen toewijzingen, zowel rijgeoriënteerd (CSV, JSON, AVRO en W3CLOGFILE) als kolomgeoriënteerd (Parquet en ORC).
Opnametoewijzingen kunnen vooraf worden gemaakt en kunnen worden verwezen vanuit de opdracht opnemen met behulp van ingestionMappingReference
parameters. Opname is echter mogelijk zonder een toewijzing op te geven. Zie Identiteitstoewijzing voor meer informatie.
Elk element in de toewijzingslijst is samengesteld uit drie velden:
Eigenschap | Vereist | Beschrijving |
---|---|---|
Kolom | ✔️ | Naam van doelkolom in de tabel. |
Gegevenstype | Gegevenstype waarmee de toegewezen kolom moet worden gemaakt als deze nog niet in de tabel bestaat. | |
Eigenschappen | Eigenschappenverzameling met eigenschappen die specifiek zijn voor elke toewijzing, zoals beschreven op elke pagina met specifieke toewijzingstypen. |
Belangrijk
Voor opname in de wachtrij:
- Als de tabel waarnaar wordt verwezen in de toewijzing niet bestaat in de database, wordt deze automatisch gemaakt, op basis van het feit dat geldige gegevenstypen worden opgegeven voor alle kolommen.
- Als een kolom waarnaar wordt verwezen in de toewijzing niet bestaat in de tabel, wordt deze automatisch toegevoegd aan de tabel als de laatste kolom bij de eerste keer dat gegevens voor die kolom worden opgenomen, mits er een geldig gegevenstype is opgegeven voor de kolom. Als u nieuwe kolommen wilt toevoegen aan een toewijzing, gebruikt u de opdracht .alter ingestion mapping.
- Gegevens worden in batches gemaakt met behulp van opname-eigenschappen. Hoe meer verschillende opnametoewijzingseigenschappen worden gebruikt, zoals verschillende ConstValue-waarden, hoe gefragmenteerder de opname wordt, wat kan leiden tot prestatievermindering.
Ondersteunde toewijzingstypen
In de volgende tabel worden toewijzingstypen gedefinieerd die moeten worden gebruikt bij het opnemen of opvragen van externe gegevens met een specifieke indeling.
Gegevensindeling | Toewijzingstype |
---|---|
CSV | CSV-toewijzing |
TSV | CSV-toewijzing |
TSVe | CSV-toewijzing |
PSV | CSV-toewijzing |
SCSV | CSV-toewijzing |
SOHsv | CSV-toewijzing |
TXT | CSV-toewijzing |
RAW | CSV-toewijzing |
JSON | JSON-toewijzing |
AVRO | AVRO-toewijzing |
APACHEAVRO | AVRO-toewijzing |
Parquet | Parquet-toewijzing |
ORC | ORC-toewijzing |
W3CLOGFILE | toewijzing van W3CLOGFILE |
Identiteitstoewijzing
Opname is mogelijk zonder eigenschappen of ingestionMappingReference
op te ingestionMapping
geven. De gegevens worden toegewezen met behulp van een identiteitsgegevenstoewijzing die is afgeleid van het schema van de tabel. Het tabelschema blijft hetzelfde. format
eigenschap moet worden opgegeven. Zie opnameindelingen.
Indelingstype | Indeling | Toewijzingslogica |
---|---|---|
Tabellaire gegevensindelingen met gedefinieerde volgorde van kolommen, zoals door scheidingstekens gescheiden of indelingen met één regel. | CSV, TSV, TSVe, PSV, SCSV, Txt, SOHsv, Raw | Alle tabelkolommen worden in hun respectieve volgorde toegewezen aan gegevenskolommen in de volgorde waarin ze in de gegevensbron worden weergegeven. Het gegevenstype Kolom is afkomstig uit het tabelschema. |
Indelingen met benoemde kolommen of records met benoemde velden. | JSON, Parquet, Avro, ApacheAvro, Orc, W3CLOGFILE | Alle tabelkolommen worden toegewezen aan gegevenskolommen of recordvelden met dezelfde naam (hoofdlettergevoelig). Het gegevenstype Kolom is afkomstig uit het tabelschema. |
Waarschuwing
Als het tabelschema en de structuur van gegevens niet overeenkomen, zoals kolom- of veldgegevenstypen, kolom- of veldnamen of hun aantal, kan dit leiden tot lege of onjuiste gegevensopname.
Toewijzingstransformaties
Sommige toewijzingen van gegevensindelingen (Parquet, JSON en AVRO) ondersteunen eenvoudige en nuttige opnametijdtransformaties. Als het scenario complexere verwerking tijdens opname vereist, gebruikt u Updatebeleid, waarmee lichtgewicht verwerking met behulp van KQL-expressie kan worden gedefinieerd.
Padafhankelijke transformatie | Description | Voorwaarden |
---|---|---|
PropertyBagArrayToDictionary | Transformeert de JSON-matrix met eigenschappen, zoals {events:[{"n1":"v1"},{"n2":"v2"}]} , naar woordenlijst en serialiseert deze naar een geldig JSON-document, zoals {"n1":"v1","n2":"v2"} . |
Beschikbaar voor JSON toewijzingstypen , Parquet AVRO enORC . |
SourceLocation | Naam van het opslagartefact dat de gegevens heeft geleverd, typ tekenreeks (bijvoorbeeld het veld BaseUri van de blob). | Beschikbaar voor CSV toewijzingstypen , Parquet JSON , AVRO , ORC en W3CLOGFILE . |
SourceLineNumber | Verschuiving ten opzichte van dat opslagartefact, typt u long (beginnend met '1' en oplopend per nieuwe record). | Beschikbaar in: JSON , Parquet , AVRO ORC en W3CLOGFILE toewijzingstypen. |
DateTimeFromUnixSeconds | Converteert getal dat unix-tijd vertegenwoordigt (seconden sinds 1970-01-01) naar UTC-tekenreeks datum/tijd. | Beschikbaar voor JSON toewijzingstypen , Parquet AVRO enORC . |
DateTimeFromUnixMilliseconds | Converteert getal dat unix-tijd vertegenwoordigt (milliseconden sinds 1970-01-01) naar UTC-tekenreeks datum/tijd. | Beschikbaar voor JSON toewijzingstypen , Parquet AVRO enORC . |
DateTimeFromUnixMicroseconds | Converteert een getal dat unix-tijd vertegenwoordigt (microseconden sinds 1970-01-01) naar UTC-tekenreeks datum/tijd. | Beschikbaar voor JSON toewijzingstypen , Parquet AVRO enORC . |
DateTimeFromUnixNanoseconds | Converteert een getal dat unix-tijd vertegenwoordigt (nanoseconden sinds 1970-01-01) naar UTC-tekenreeks datum/tijd. | Beschikbaar voor JSON toewijzingstypen , Parquet AVRO enORC . |
DropMappedFields | Wijst een object in het JSON-document toe aan een kolom en verwijdert alle geneste velden waarnaar al wordt verwezen door andere kolomtoewijzingen. | Beschikbaar voor JSON toewijzingstypen , Parquet AVRO enORC . |
BytesAsBase64 | Behandelt de gegevens als bytematrix en converteert deze naar een met base64 gecodeerde tekenreeks. | Beschikbaar voor AVRO toewijzingstype. Voor ApacheAvro de indeling moet het schematype van het toegewezen gegevensveld of fixed het Avro-type zijnbytes . Voor Avro opmaak moet het veld een matrix zijn met bytewaarden van het bereik [0-255]. null wordt opgenomen als de gegevens geen geldige bytematrix vertegenwoordigen. |
Voorbeelden van toewijzingstransformaties
DropMappedFields
Transformatie:
Gezien de volgende JSON-inhoud:
{
"Time": "2012-01-15T10:45",
"Props": {
"EventName": "CustomEvent",
"Revenue": 0.456
}
}
De volgende gegevenstoewijzing wijst het hele Props
object toe aan dynamische kolommen Props
, terwijl al toegewezen kolommen worden uitgesloten (Props.EventName
is al toegewezen aan kolom EventName
, dus het is uitgesloten).
[
{ "Column": "Time", "Properties": { "Path": "$.Time" } },
{ "Column": "EventName", "Properties": { "Path": "$.Props.EventName" } },
{ "Column": "Props", "Properties": { "Path": "$.Props", "Transform":"DropMappedFields" } },
]
De opgenomen gegevens zien er als volgt uit:
Tijd | Gebeurtenisnaam | Props |
---|---|---|
2012-01-15T10:45 |
CustomEvent |
{"Revenue": 0.456} |
BytesAsBase64
Transformatie
Gezien de volgende AVRO-bestandsinhoud:
{
"Time": "2012-01-15T10:45",
"Props": {
"id": [227,131,34,92,28,91,65,72,134,138,9,133,51,45,104,52]
}
}
Met de volgende gegevenstoewijzing wordt de id-kolom twee keer toegewezen, met en zonder de transformatie.
[
{ "Column": "Id", "Properties": { "Path": "$.props.id" } },
{ "Column": "Base64EncodedId", "Properties": { "Path": "$.props.id", "Transform":"BytesAsBase64" } },
]
De opgenomen gegevens zien er als volgt uit:
Id | Base64EncodedId |
---|---|
[227,131,34,92,28,91,65,72,134,138,9,133,51,45,104,52] |
44MiXBxbQUiGigmFMy1oNA== |
Feedback
https://aka.ms/ContentUserFeedback.
Binnenkort beschikbaar: In de loop van 2024 zullen we GitHub-problemen geleidelijk uitfaseren als het feedbackmechanisme voor inhoud en deze vervangen door een nieuw feedbacksysteem. Zie voor meer informatie:Feedback verzenden en weergeven voor