Mappages d’ingestion
S’applique à : ✅Microsoft Fabric✅Azure Data Explorer
Les mappages d’ingestion sont utilisés pendant l’ingestion pour mapper les données entrantes aux colonnes à l’intérieur des tables.
Data Explorer prend en charge différents types de mappages, orientés lignes (CSV, JSON, AVRO et W3CLOGFILE) et orientés colonnes (Parquet et ORC).
Les mappages d’ingestion peuvent être précréés et peuvent être référencés à partir de la commande d’ingestion à l’aide ingestionMappingReference
de paramètres. L’ingestion est possible sans spécifier de mappage. Pour plus d’informations, consultez mappage d’identité.
Chaque élément de la liste de mappages est construit à partir de trois champs :
Propriété | Obligatoire | Description |
---|---|---|
Colonne | ✔️ | Nom de colonne cible dans la table. |
Datatype | Type de données avec lequel créer la colonne mappée s’il n’existe pas déjà dans la table. | |
Propriétés | Conteneur de propriétés contenant des propriétés spécifiques pour chaque mappage, comme décrit dans chaque page de type de mappage spécifique. |
Important
Pour l’ingestion mise en file d’attente :
- Si la table référencée dans le mappage n’existe pas dans la base de données, elle est créée automatiquement, étant donné que les types de données valides sont spécifiés pour toutes les colonnes.
- Si une colonne référencée dans le mappage n’existe pas dans la table, elle est ajoutée automatiquement à la table en tant que dernière colonne lors de la première réception des données pour cette colonne, étant donné qu’un type de données valide est spécifié pour la colonne. Pour ajouter de nouvelles colonnes à un mappage, utilisez la commande de mappage .alter ingestion.
- Les données sont traitées par lots à l’aide de propriétés d’ingestion. Les propriétés de mappage d’ingestion plus distinctes utilisées, telles que différentes valeurs ConstValue, sont plus fragmentées l’ingestion devient, ce qui peut entraîner une dégradation des performances.
Types de mappage pris en charge
Le tableau suivant définit les types de mappage à utiliser lors de l’ingestion ou de l’interrogation de données externes d’un format spécifique.
Format de données | Type de mappage |
---|---|
CSV | Mappage CSV |
TSV | Mappage CSV |
TSVe | Mappage CSV |
PSV | Mappage CSV |
SCSV | Mappage CSV |
SOHsv | Mappage CSV |
TXT | Mappage CSV |
RAW | Mappage CSV |
JSON | Mappage JSON |
AVRO | Mappage AVRO |
APACHEAVRO | Mappage AVRO |
Parquet | Mappage Parquet |
ORC | Mappage ORC |
W3CLOGFILE | mappage de W3CLOGFILE |
Mappage d’identité
L’ingestion est possible sans spécifier ingestionMapping
ou ingestionMappingReference
propriétés. Les données sont mappées à l’aide d’un mappage de données d’identité dérivé du schéma de la table. Le schéma de table reste le même. format
la propriété doit être spécifiée. Voir les formats d’ingestion.
Type de format | Format | Logique de mappage |
---|---|---|
Formats de données tabulaires avec un ordre défini de colonnes, tels que des formats séparés par des délimiteurs ou monolignes. | CSV, TSV, TSVe, PSV, SCSV, Txt, SOHsv, Raw | Toutes les colonnes de table sont mappées dans leur ordre respectif aux colonnes de données afin qu’elles apparaissent dans la source de données. Le type de données de colonne est extrait du schéma de table. |
Met en forme des colonnes nommées ou des enregistrements avec des champs nommés. | JSON, Parquet, Avro, ApacheAvro, Orc, W3CLOGFILE | Toutes les colonnes de table sont mappées aux colonnes de données ou aux champs d’enregistrement portant le même nom (respectant la casse). Le type de données de colonne est extrait du schéma de table. |
Avertissement
Toute incompatibilité entre le schéma de table et la structure des données, telles que les types de données de colonne ou de champ, les noms de colonne ou de champ, ou leur nombre, peut entraîner l’ingestion de données vides ou incorrectes.
Mappage des transformations
Certains mappages de format de données (Parquet, JSON et AVRO) prennent en charge des transformations simples et utiles dans le temps d’ingestion. Lorsque le scénario nécessite un traitement plus complexe au moment de l’ingestion, utilisez la stratégie de mise à jour, ce qui permet de définir un traitement léger à l’aide de l’expression KQL.
Transformation dépendante du chemin d’accès | Description | Conditions |
---|---|---|
PropertyBagArrayToDictionary | Transforme le tableau JSON de propriétés, par {events:[{"n1":"v1"},{"n2":"v2"}]} exemple, en dictionnaire et le sérialise en document JSON valide, tel que {"n1":"v1","n2":"v2"} . |
Disponible pour JSON les types de mappage, et AVRO ORC les Parquet types de mappage. |
SourceLocation | Nom de l’artefact de stockage qui a fourni les données, chaîne de type (par exemple, le champ « BaseUri » de l’objet blob). | Disponible pour CSV , , Parquet JSON , AVRO , ORC et W3CLOGFILE les types de mappage. |
SourceLineNumber | Décalage relatif à cet artefact de stockage, tapez long (à partir de « 1 » et incrémentation par nouvel enregistrement). | Disponible pour CSV , , Parquet JSON , AVRO , ORC et W3CLOGFILE les types de mappage. |
DateTimeFromUnixSeconds | Convertit le nombre représentant unix-time (secondes depuis 1970-01-01) en chaîne datetime UTC. | Disponible pour CSV les types de mappage , , AVRO JSON Parquet et ORC pour les types de mappage. |
DateTimeFromUnixMilliseconds | Convertit le nombre représentant unix-time (millisecondes depuis 1970-01-01) en chaîne datetime UTC. | Disponible pour CSV les types de mappage , , AVRO JSON Parquet et ORC pour les types de mappage. |
DateTimeFromUnixMicroseconds | Convertit le nombre représentant unix-time (microsecondes depuis 1970-01-01) en chaîne datetime UTC. | Disponible pour CSV les types de mappage , , AVRO JSON Parquet et ORC pour les types de mappage. |
DateTimeFromUnixNanoseconds | Convertit le nombre représentant unix-time (nanosecondes depuis 1970-01-01) en chaîne datetime UTC. | Disponible pour CSV les types de mappage , , AVRO JSON Parquet et ORC pour les types de mappage. |
DropMappedFields | Mappe un objet dans le document JSON à une colonne et supprime tous les champs imbriqués déjà référencés par d’autres mappages de colonnes. | Disponible pour JSON les types de mappage, et AVRO ORC les Parquet types de mappage. |
OctetsAsBase64 | Traite les données en tant que tableau d’octets et les convertit en chaîne encodées en base64. | Disponible pour AVRO le type de mappage. Pour ApacheAvro le format, le type de schéma du champ de données mappé doit être bytes ou fixed un type Avro. Pour Avro le format, le champ doit être un tableau contenant des valeurs d’octets de la plage [0-255]. null est ingéré si les données ne représentent pas un tableau d’octets valide. |
Exemples de transformation de mappage
DropMappedFields
transformation:
Étant donné le contenu JSON suivant :
{
"Time": "2012-01-15T10:45",
"Props": {
"EventName": "CustomEvent",
"Revenue": 0.456
}
}
Le mappage de données suivant mappe l’ensemble Props
de l’objet en colonne Props
dynamique tout en excluant les colonnes déjà mappées (Props.EventName
est déjà mappé dans la colonne EventName
, il est donc exclu).
[
{ "Column": "Time", "Properties": { "Path": "$.Time" } },
{ "Column": "EventName", "Properties": { "Path": "$.Props.EventName" } },
{ "Column": "Props", "Properties": { "Path": "$.Props", "Transform":"DropMappedFields" } },
]
Les données ingérées se présente comme suit :
Temps | EventName | Propriétés |
---|---|---|
2012-01-15T10:45 |
CustomEvent |
{"Revenue": 0.456} |
BytesAsBase64
transformation
Étant donné le contenu du fichier AVRO suivant :
{
"Time": "2012-01-15T10:45",
"Props": {
"id": [227,131,34,92,28,91,65,72,134,138,9,133,51,45,104,52]
}
}
Le mappage de données suivant mappe la colonne ID deux fois, avec et sans la transformation.
[
{ "Column": "ID", "Properties": { "Path": "$.props.id" } },
{ "Column": "Base64EncodedId", "Properties": { "Path": "$.props.id", "Transform":"BytesAsBase64" } },
]
Les données ingérées se présente comme suit :
id | Base64EncodedId |
---|---|
[227,131,34,92,28,91,65,72,134,138,9,133,51,45,104,52] |
44MiXBxbQUiGigmFMy1oNA== |