Compartir a través de


Asignación de CSV

Se aplica a: ✅Microsoft FabricAzure Data Explorer

Use la asignación de CSV para asignar datos entrantes a columnas dentro de tablas cuando el archivo de origen de ingesta sea cualquiera de los siguientes formatos tabulares separados por delimitadores: CSV, TSV, PSV, SCSV, SOHsv, TXT y RAW. Para obtener más información, consulte formatos de datos admitidos.

Cada elemento de la lista de asignación define la asignación de una columna específica. Estos elementos se construyen a partir de tres propiedades: column, datatypey properties. Obtenga más información en la introducción a las asignaciones de datos.

Cada elemento de asignación csv debe contener cualquiera de las siguientes propiedades opcionales:

Propiedad Tipo Descripción
Ordinal int Número de orden de columna en CSV.
ConstValue string Valor constante que se va a usar para una columna en lugar de algún valor dentro del archivo CSV.
Transformación string Transformación que se debe aplicar en el contenido con transformaciones de asignación. La única transformación admitida por es SourceLocation.

Nota:

  • Cuando ConstValue se use o SourceLocation la transformación, Ordinal debe desconfigurarse.
  • En el caso de los formatos TXT y RAW, solo Ordinal se puede asignar 0, ya que el texto se trata como una sola columna de líneas.

Importante

Para la ingesta en cola:

  • Si la tabla a la que se hace referencia en la asignación no existe en la base de datos, se crea automáticamente, dado que se especifican tipos de datos válidos para todas las columnas.
  • Si no existe una columna a la que se hace referencia en la asignación en la tabla, se agrega automáticamente a la tabla como la última columna en la primera vez que se ingieren datos para esa columna, dado que se especifica un tipo de datos válido para la columna. Para agregar nuevas columnas a una asignación, use el comando .alter ingestion mapping .
  • Los datos se procesan por lotes mediante propiedades de ingesta. Las propiedades de asignación de ingesta más distintas usadas, como los distintos valores de ConstValue, más fragmentados se convierten en la ingesta, lo que puede provocar una degradación del rendimiento.

Ejemplos

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

La asignación anterior se serializa como una cadena JSON cuando se proporciona como parte del .ingest comando de administración.

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

Asignación creada previamente

Cuando la asignación se crea previamente, haga referencia a la asignación por nombre en el .ingest comando de administración.

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

Asignación de identidades

Use la asignación de CSV durante la ingesta sin definir un esquema de asignación (consulte asignación de identidades).

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