Alım eşlemeleri

Veri alımı eşlemeleri, gelen verileri tabloların içindeki sütunlarla eşlemek için alım sırasında kullanılır.

Veri Gezgini hem satır odaklı (CSV, JSON, AVRO ve W3CLOGFILE) hem de sütun odaklı (Parquet ve ORC) farklı eşleme türlerini destekler.

Alma eşlemeleri önceden oluşturulabilir ve parametreleri kullanılarak ingestionMappingReference alma komutundan başvurulabilir. Ancak, bir eşleme belirtmeden alım mümkündür. Daha fazla bilgi için bkz. Kimlik eşleme.

Eşleme listesindeki her öğe üç alandan oluşturulur:

Özellik Gerekli Açıklama
Sütun ✔️ Tabloda hedef sütun adı.
Datatype Tabloda zaten yoksa eşlenmiş sütunun oluşturulacağı veri türü.
Özellikler Her belirli eşleme türü sayfasında açıklandığı gibi her eşlemeye özgü özellikleri içeren özellik paketi.

Önemli

Kuyruğa alınan alım için:

  • Eşlemede başvuruda bulunılan tablo veritabanında yoksa, tüm sütunlar için geçerli veri türlerinin belirtildiğinden otomatik olarak oluşturulur.
  • Eşlemede başvuruda bulunılan bir sütun tabloda yoksa, sütun için geçerli bir veri türü belirtildiğinden, bu sütun için ilk veri alımında son sütun olarak tabloya otomatik olarak eklenir. Eşlemeye yeni sütunlar eklemek için .alter alma eşleme komutunu kullanın.
  • Veri alımı özellikleri kullanılarak toplu olarak oluşturulur. Farklı ConstValue değerleri gibi daha farklı alım eşleme özellikleri kullanıldıkça, alma işlemi o kadar parçalanır ve bu da performans düşüşlerine yol açabilir.

Desteklenen eşleme türleri

Aşağıdaki tablo, belirli bir biçimdeki dış verileri alırken veya sorgularken kullanılacak eşleme türlerini tanımlar.

Veri Biçimi Eşleme Türü
CSV CSV Eşlemesi
TSV CSV Eşlemesi
TSVe CSV Eşlemesi
PSV CSV Eşlemesi
SCSV CSV Eşlemesi
SOHsv CSV Eşlemesi
TXT CSV Eşlemesi
HAM CSV Eşlemesi
JSON JSON Eşlemesi
AVRO AVRO Eşleme
APACHEAVRO AVRO Eşleme
Parquet Parquet Eşleme
ORC ORC Eşlemesi
W3CLOGFILE W3CLOGFILE Eşleme

Kimlik eşleme

Alım, veya ingestionMappingReference özellikleri belirtilmeden ingestionMapping mümkündür. Veriler, tablonun şemasından türetilen bir kimlik verileri eşlemesi kullanılarak eşlenir. Tablo şeması aynı kalır. format özelliği belirtilmelidir. Bkz. alma biçimleri.

Biçim türü Biçimlendir Eşleme mantığı
Sınırlayıcıyla ayrılmış veya tek satırlı biçimler gibi tanımlı sütun sırasına sahip tablosal veri biçimleri. CSV, TSV, TSVe, PSV, SCSV, Txt, SOHsv, Raw Tüm tablo sütunları, veri kaynağında göründükleri sırayla veri sütunlarına sırasıyla eşlenir. Sütun veri türü tablo şemasından alınır.
Adlandırılmış sütunlarla veya adlandırılmış alanlarla kayıtlarla biçimlendirin. JSON, Parquet, Avro, ApacheAvro, Orc, W3CLOGFILE Tüm tablo sütunları, aynı ada (büyük/küçük harfe duyarlı) sahip veri sütunlarına veya kayıt alanlarına eşlenir. Sütun veri türü tablo şemasından alınır.

Uyarı

Tablo şeması ile sütun veya alan veri türleri, sütun veya alan adları ya da bunların sayısı gibi veri yapısı arasındaki uyuşmazlıklar boş veya yanlış veri alımına neden olabilir.

Eşleme dönüştürmeleri

Veri biçimi eşlemelerinden bazıları (Parquet, JSON ve AVRO), basit ve kullanışlı alma zamanı dönüştürmelerini destekler. Senaryonun alma zamanında daha karmaşık işleme gerektirdiği durumlarda KQL ifadesi kullanarak basit işleme tanımlamaya olanak tanıyan Güncelleştirme ilkesini kullanın.

Yol bağımlı dönüştürme Description Koşullar
PropertyBagArrayToDictionary gibi {events:[{"n1":"v1"},{"n2":"v2"}]}özelliklerden oluşan JSON dizisini sözlüğe dönüştürür ve bunu gibi {"n1":"v1","n2":"v2"}geçerli JSON belgesine dönüştürür. , Parquetve AVROORC eşleme türleri için JSONkullanılabilir.
Sourcelocation Verileri sağlayan depolama yapıtı adı, dize (örneğin, blobun "BaseUri" alanı) yazın. , , JSON, Parquetve AVROORCW3CLOGFILE eşleme türleri için CSVkullanılabilir.
SourceLineNumber Bu depolama yapıtına göre uzaklık, uzun yazın ('1' ile başlayan ve yeni kayıt başına artan). Şu türlerde kullanılabilir: JSON, Parquet, AVROve ORCW3CLOGFILE eşleme türleri.
DateTimeFromUnixSeconds Unix saatini temsil eden sayıyı (1970-01-01'den bu yana saniye) UTC tarih saat dizesine dönüştürür. , Parquetve AVROORC eşleme türleri için JSONkullanılabilir.
DateTimeFromUnixMilliseconds Unix saatini temsil eden sayıyı (1970-01-01'den bu yana milisaniye) UTC tarih saat dizesine dönüştürür. , Parquetve AVROORC eşleme türleri için JSONkullanılabilir.
DateTimeFromUnixMicroseconds Unix saatini temsil eden sayıyı (1970-01-01'den bu yana mikrosaniye) UTC tarih saat dizesine dönüştürür. , Parquetve AVROORC eşleme türleri için JSONkullanılabilir.
DateTimeFromUnixNanoseconds Unix saatini (1970-01-01'den beri nanosaniye) temsil eden sayıyı UTC tarih saat dizesine dönüştürür. , Parquetve AVROORC eşleme türleri için JSONkullanılabilir.
DropMappedFields JSON belgesindeki bir nesneyi bir sütunla eşler ve diğer sütun eşlemeleri tarafından zaten başvuruda bulunan iç içe alanları kaldırır. , Parquetve AVROORC eşleme türleri için JSONkullanılabilir.
BytesAsBase64 Verileri bayt dizisi olarak ele alır ve base64 ile kodlanmış bir dizeye dönüştürür. Eşleme türü için AVRO kullanılabilir. Biçim içinApacheAvro, eşlenen veri alanının şema türü veya fixed Avro türü olmalıdırbytes. Biçim için Avro , alan [0-255] aralığından bayt değerleri içeren bir dizi olmalıdır. null , veriler geçerli bir bayt dizisini temsil etmiyorsa alınıyor.

Eşleme dönüştürme örnekleri

DropMappedFields Dönüştürme:

Aşağıdaki JSON içeriği göz önünde bulundurulduğunda:

{
    "Time": "2012-01-15T10:45",
    "Props": {
        "EventName": "CustomEvent",
        "Revenue": 0.456
    }
}

Aşağıdaki veri eşlemesi, zaten eşlenmiş sütunları dışlarken tüm Props nesneyi dinamik sütuna Props eşler (Props.EventName zaten sütunuyla EventNameeşlenir, bu nedenle dışlanır).

[
    { "Column": "Time", "Properties": { "Path": "$.Time" } },
    { "Column": "EventName", "Properties": { "Path": "$.Props.EventName" } },
    { "Column": "Props", "Properties": { "Path": "$.Props", "Transform":"DropMappedFields" } },
]

Alınan veriler aşağıdaki gibi görünür:

Saat EventName Sahne
2012-01-15T10:45 CustomEvent {"Revenue": 0.456}

BytesAsBase64 Dönüştürme

Aşağıdaki AVRO dosyası içeriği göz önünde bulundurulduğunda:

{
    "Time": "2012-01-15T10:45",
    "Props": {
        "id": [227,131,34,92,28,91,65,72,134,138,9,133,51,45,104,52]
    }
}

Aşağıdaki veri eşlemesi, kimlik sütununu dönüştürmeyle ve dönüştürme olmadan iki kez eşler.

[
    { "Column": "Id", "Properties": { "Path": "$.props.id" } },
    { "Column": "Base64EncodedId", "Properties": { "Path": "$.props.id", "Transform":"BytesAsBase64" } },
]

Alınan veriler aşağıdaki gibi görünür:

Id Base64EncodedId
[227,131,34,92,28,91,65,72,134,138,9,133,51,45,104,52] 44MiXBxbQUiGigmFMy1oNA==