Udostępnij za pośrednictwem


Mapowanie woluminów CSV

Dotyczy: ✅Microsoft Fabric✅Azure Data Explorer

Mapowanie woluminów CSV umożliwia mapowanie danych przychodzących na kolumny wewnątrz tabel, gdy plik źródłowy pozyskiwania jest dowolnym z następujących formatów tabelarycznych rozdzielanych ogranicznikami: CSV, TSV, PSV, SCSV, SOHsv, TXT i RAW. Aby uzyskać więcej informacji, zobacz obsługiwane formaty danych.

Każdy element na liście mapowania definiuje mapowanie dla określonej kolumny. Te elementy są konstruowane z trzech właściwości: column, datatypei properties. Dowiedz się więcej w omówieniu mapowań danych.

Każdy element mapowania CSV musi zawierać jedną z następujących właściwości opcjonalnych:

Właściwość Type Opis
Liczba porządkowa int Numer zamówienia kolumny w pliku CSV.
ConstValue string Stała wartość, która ma być używana dla kolumny zamiast wartości wewnątrz pliku CSV.
Przekształcanie string Przekształcenie, które należy zastosować do zawartości za pomocą przekształceń mapowania. Jedyną obsługiwaną transformacją według jest SourceLocation.

Uwaga

  • W przypadku ConstValue użycia Ordinal transformacji lub SourceLocation nie należy jej wyłączać.
  • W przypadku formatów TXT i RAW można mapować tylko Ordinal 0, ponieważ tekst jest traktowany jako pojedyncza kolumna wierszy.

Ważne

W przypadku pozyskiwania w kolejce:

  • Jeśli tabela, do której odwołuje się mapowanie, nie istnieje w bazie danych, zostanie utworzona automatycznie, biorąc pod uwagę, że prawidłowe typy danych są określone dla wszystkich kolumn.
  • Jeśli kolumna przywoływana w mapowaniu nie istnieje w tabeli, zostanie ona automatycznie dodana do tabeli jako ostatnia kolumna podczas pierwszego pozyskiwania danych dla tej kolumny, biorąc pod uwagę prawidłowy typ danych określony dla kolumny. Aby dodać nowe kolumny do mapowania, użyj polecenia .alter ingestion mapowania.
  • Dane są wsadowe przy użyciu właściwości pozyskiwania. Bardziej odrębne właściwości mapowania pozyskiwania, takie jak różne wartości ConstValue, tym bardziej rozdrobnione pozyskiwanie staje się, co może prowadzić do obniżenia wydajności.

Przykłady

[
  {"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"}}
]

Powyższe mapowanie jest serializowane jako ciąg JSON, gdy jest ono udostępniane jako część .ingest polecenia zarządzania.

.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"}}
        ]
        ```
    )

Wstępnie utworzone mapowanie

Po wstępnie utworzonym mapowaniu należy odwołać się do mapowania według nazwy w poleceniu .ingest zarządzania.

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

Mapowanie tożsamości

Użyj mapowania CSV podczas pozyskiwania bez definiowania schematu mapowania (zobacz mapowanie tożsamości).

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