Aracılığıyla paylaş


Alım eşlemeleri

Alma eşlemeleri, gelen verileri tabloların içindeki sütunlara 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 Zorunlu Açıklama
Sütun ✔️ Tablodaki hedef sütun adı.
Datatype Tabloda zaten yoksa eşlenmiş sütunun oluşturulacağı veri türü.
Properties Her eşleme türü sayfasında açıklandığı gibi her eşlemeye özgü özellikleri içeren özellik paketi.

Önemli

Kuyruğa alınan alma 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 bulunulan bir sütun tabloda yoksa, sütun için geçerli bir veri türü belirtildiğinde, 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.
  • Veriler alma ö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
ÇİĞ CSV Eşlemesi
JSON JSON Eşlemesi
AVRO AVRO Eşlemesi
APACHEAVRO AVRO Eşlemesi
Parquet Parquet Eşlemesi
ORC ORC Eşlemesi
W3CLOGFILE W3CLOGFILE Eşlemesi

Kimlik eşleme

veya ingestionMappingReference özellikleri belirtilmeden ingestionMapping alma mümkündür. Veriler, tablonun şemasından türetilen bir kimlik veri 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ı veya 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 Açıklama Koşullar
PropertyBagArrayToDictionary gibi {events:[{"n1":"v1"},{"n2":"v2"}]}özelliklerin JSON dizisini sözlüğe dönüştürür ve gibi {"n1":"v1","n2":"v2"}geçerli JSON belgesine serileştirir. , 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, Parquet, ORCAVROve W3CLOGFILE eşleme türleri için CSVkullanılabilir.
SourceLineNumber Bu depolama yapıtına göre uzaklık, uzun yazın ('1' ile başlayıp yeni kayıt başına artırma). , , JSON, Parquet, ORCAVROve W3CLOGFILE eşleme türleri için CSVkullanılabilir.
DateTimeFromUnixSeconds Unix saatini temsil eden sayıyı (1970-01-01'den itibaren 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 temsil eden sayıyı (1970-01-01'den bu yana nanosaniye) 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ütuna eşler ve diğer sütun eşlemeleri tarafından zaten başvurulmuş 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çin ApacheAvro 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üşüm:

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 nesnenin tamamını Props dinamik sütuna Props eşler (Props.EventName zaten sütuna 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üşüm

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==