Compartilhar via


Mapeamento de CSV

Aplica-se a: ✅Microsoft FabricAzure Data Explorer

Use o mapeamento CSV para mapear dados de entrada para colunas dentro de tabelas quando o arquivo de origem de ingestão for qualquer um dos seguintes formatos tabulares separados por delimitador: CSV, TSV, PSV, SCSV, SOHsv, TXT e RAW. Para obter mais informações, consulte formatos de dados com suporte.

Cada elemento na lista de mapeamento define o mapeamento para uma coluna específica. Esses elementos são construídos a partir de três propriedades: column, datatype, e properties. Saiba mais na visão geral dos mapeamentos de dados.

Cada elemento de mapeamento CSV deve conter uma das seguintes propriedades opcionais:

Propriedade Type Descrição
Ordinal int O número de ordem da coluna em CSV.
ConstValue string O valor constante a ser usado para uma coluna em vez de algum valor dentro do arquivo CSV.
Transformação string Transformação que deve ser aplicada no conteúdo com transformações de mapeamento. A única transformação suportada por é SourceLocation.

Observação

  • Quando ConstValue ou SourceLocation transformação são usados, Ordinal devem ser desconfigurados.
  • Para os formatos TXT e RAW, apenas Ordinal 0 pode ser mapeado, pois o texto é tratado como uma única coluna de linhas.

Importante

Para ingestão em fila:

  • Se a tabela referenciada no mapeamento não existir no banco de dados, ela será criada automaticamente, considerando que os tipos de dados válidos são especificados para todas as colunas.
  • Se uma coluna referenciada no mapeamento não existir na tabela, ela será adicionada automaticamente à tabela como a última coluna na primeira vez que os dados forem ingeridos para essa coluna, desde que um tipo de dados válido seja especificado para a coluna. Para adicionar novas colunas a um mapeamento, use o comando de mapeamento de ingestão .alter.
  • Os dados são agrupados em lote usando propriedades de assimilação. Quanto mais propriedades de mapeamento de ingestão distintas forem usadas, como valores ConstValue diferentes, mais fragmentada a ingestão se tornará, o que pode levar à degradação do desempenho.

Exemplos

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

O mapeamento acima é serializado como uma cadeia de caracteres JSON quando é fornecido como parte do .ingest comando de gerenciamento.

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

Mapeamento pré-criado

Quando o mapeamento for pré-criado, faça referência ao mapeamento por nome no .ingest comando de gerenciamento.

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

Mapeamento de identidade

Use o mapeamento CSV durante a assimilação sem definir um esquema de mapeamento (consulte mapeamento de identidade).

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