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. |
, Parquet ve AVRO ORC eşleme türleri için JSON kullanılabilir. |
Sourcelocation | Verileri sağlayan depolama yapıtı adı, dize (örneğin, blobun "BaseUri" alanı) yazın. | , , JSON , Parquet ve AVRO ORC W3CLOGFILE eşleme türleri için CSV kullanı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 , AVRO ve ORC W3CLOGFILE 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. | , Parquet ve AVRO ORC eşleme türleri için JSON kullanılabilir. |
DateTimeFromUnixMilliseconds | Unix saatini temsil eden sayıyı (1970-01-01'den bu yana milisaniye) UTC tarih saat dizesine dönüştürür. | , Parquet ve AVRO ORC eşleme türleri için JSON kullanılabilir. |
DateTimeFromUnixMicroseconds | Unix saatini temsil eden sayıyı (1970-01-01'den bu yana mikrosaniye) UTC tarih saat dizesine dönüştürür. | , Parquet ve AVRO ORC eşleme türleri için JSON kullanılabilir. |
DateTimeFromUnixNanoseconds | Unix saatini (1970-01-01'den beri nanosaniye) temsil eden sayıyı UTC tarih saat dizesine dönüştürür. | , Parquet ve AVRO ORC eşleme türleri için JSON kullanı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. | , Parquet ve AVRO ORC eşleme türleri için JSON kullanı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 EventName
eş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== |
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin