Dela via


CSV-mappning

Använd CSV-mappning för att mappa inkommande data till kolumner i tabeller när källfilen för inmatning är något av följande avgränsare avgränsade tabellformat: CSV, TSV, PSV, SCSV, SOHsv, TXT och RAW. Mer information finns i dataformat som stöds.

Varje element i mappningslistan definierar mappningen för en specifik kolumn. Dessa element konstrueras från tre egenskaper: column, datatypeoch properties. Läs mer i översikten över datamappningar.

Varje CSV-mappningselement måste innehålla någon av följande valfria egenskaper:

Egenskap Typ Description
Ordningstal int Kolumnordningsnumret i CSV.
ConstValue string Det konstanta värdet som ska användas för en kolumn i stället för något värde i CSV-filen.
Transformering string Transformering som ska tillämpas på innehållet med mappningstransformeringar. Den enda omvandling som stöds av är SourceLocation.

Anteckning

  • När ConstValue eller SourceLocation transformering används Ordinal måste vara oet.
  • För TXT- och RAW-format kan endast Ordinal 0 mappas, eftersom text behandlas som en enda kolumn med rader.

Viktigt

För köad inmatning:

  • Om tabellen som refereras i mappningen inte finns i databasen skapas den automatiskt, eftersom giltiga datatyper anges för alla kolumner.
  • Om en kolumn som refereras till i mappningen inte finns i tabellen läggs den automatiskt till i tabellen som den sista kolumnen första gången data matas in för den kolumnen, givet att en giltig datatyp har angetts för kolumnen. Om du vill lägga till nya kolumner i en mappning använder du kommandot .alter ingestion mapping .
  • Data batchindelades med inmatningsegenskaper. Ju mer distinkta egenskaper för inmatningsmappning som används, till exempel olika ConstValue-värden, desto mer fragmenterad blir inmatningen, vilket kan leda till prestandaförsämring.

Exempel

[
  {"Column": "event_time", "Properties": {"Ordinal": "0"}},
  {"Column": "event_name", "Properties": {"Ordinal": "1"}},
  {"Column": "event_type", "Properties": {"Ordinal": "2"}},
  {"Column": "ingestion_time", "Properties": {"ConstValue": "2023-01-01T10:32:00"}}
  {"Column": "source_location", "Properties": {"Transform": "SourceLocation"}}
]

Mappningen ovan serialiseras som en JSON-sträng när den tillhandahålls som en del av .ingest hanteringskommandot.

.ingest into Table123 (@"source1", @"source2")
    with
    (
        format="csv",
        ingestionMapping =
        ```
        [
            {"Column": "event_time", "Properties": {"Ordinal": "0"}},
            {"Column": "event_name", "Properties": {"Ordinal": "1"}},
            {"Column": "event_type", "Properties": {"Ordinal": "2"}},
            {"Column": "ingestion_time", "Properties": {"ConstValue": "2023-01-01T10:32:00"}},
            {"Column": "source_location", "Properties": {"Transform": "SourceLocation"}}
        ]
        ```
    )

Förskapad mappning

När mappningen har skapats i förväg refererar du till mappningen efter namn i hanteringskommandot .ingest .

.ingest into Table123 (@"source1", @"source2")
    with
    (
        format="csv",
        ingestionMappingReference = "MappingName"
    )

Identitetsmappning

Använd CSV-mappning under inmatning utan att definiera ett mappningsschema (se identitetsmappning).

.ingest into Table123 (@"source1", @"source2")
    with
    (
        format="csv"
    )