Pemetaan CSV

Gunakan pemetaan CSV untuk memetakan data masuk ke kolom di dalam tabel saat file sumber penyerapan Anda adalah salah satu format tabular yang dipisahkan pemisah berikut: CSV, TSV, PSV, SCSV, SOHsv, TXT, dan RAW. Untuk informasi selengkapnya, lihat format data yang didukung.

Setiap elemen dalam daftar pemetaan menentukan pemetaan untuk kolom tertentu. Elemen-elemen ini dibangun dari tiga properti: column, , datatypedan properties. Pelajari selengkapnya di gambaran umum pemetaan data.

Setiap elemen pemetaan CSV harus berisi salah satu properti opsional berikut:

Properti Jenis Deskripsi
Ordinal int Nomor urutan kolom di CSV.
ConstValue string Nilai konstanta yang akan digunakan untuk kolom alih-alih beberapa nilai di dalam file CSV.
Transformasi string Transformasi yang harus diterapkan pada konten dengan transformasi pemetaan. Satu-satunya transformasi yang didukung oleh adalah SourceLocation.

Catatan

  • Ketika ConstValue atau SourceLocation transformasi digunakan, Ordinal harus tidak diatur.
  • Untuk format TXT dan RAW, hanya Ordinal 0 yang dapat dipetakan, karena teks diperlakukan sebagai kolom baris tunggal.

Penting

Untuk penyerapan antrean:

  • Jika tabel yang direferensikan dalam pemetaan tidak ada dalam database, tabel akan dibuat secara otomatis, mengingat bahwa jenis data yang valid ditentukan untuk semua kolom.
  • Jika kolom yang direferensikan dalam pemetaan tidak ada dalam tabel, kolom akan ditambahkan secara otomatis ke tabel sebagai kolom terakhir pada data pertama kali diserap untuk kolom tersebut, mengingat jenis data yang valid ditentukan untuk kolom. Untuk menambahkan kolom baru ke pemetaan, gunakan perintah pemetaan penyerapan .alter.
  • Data di-batch menggunakan properti Penyerapan. Semakin berbeda properti pemetaan penyerapan yang digunakan, seperti nilai ConstValue yang berbeda, semakin terfragmentasi penyerapannya, yang dapat menyebabkan penurunan performa.

Contoh

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

Pemetaan di atas diserialisasikan sebagai string JSON ketika disediakan sebagai bagian .ingest dari perintah manajemen.

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

Pemetaan yang telah dibuat sebelumnya

Saat pemetaan telah dibuat sebelumnya, referensikan pemetaan menurut nama dalam .ingest perintah manajemen.

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

Pemetaan identitas

Gunakan pemetaan CSV selama penyerapan tanpa menentukan skema pemetaan (lihat pemetaan identitas).

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