Aracılığıyla paylaş


Veri Türleri

✅ Azure Stream Analytics ✅ Fabric Olay Akışı

Her kaydın bir ilgili veri türü vardır. Veri türü, bu türdeki bir kaydın tutabileceği veya bu türdeki bir ifadenin oluşturabileceği değer kümesini açıklar (ve kısıtlar).

Bunun sütun değil türü olan kayıtlar olduğunu lütfen unutmayın. Bir sütunun her kaydı farklı bir türe sahip olabilir. Çoğu uygulama için saydam olacaksa, şema kayma senaryolarının ve diğer olağan dışı yazma desenlerinin kolayca işlenmesine olanak tanır.

Desteklenen veri türleri

Desteklenen veri türlerinin listesi aşağıdadır.

Veri türü Açıklama
bigint -2^63 (-9.223.372.036.854.775.808) ile 2^63-1 (9.223.372.036.854.775.807) aralığındaki tamsayılar.
yüzmek Aralıktaki kayan nokta sayıları - 1,79E+308 - -2,23E-308, 0 ve 2,23E-308 - 1,79E+308. Kayan nokta ondalık değerleri genellikle tam ikili gösterime sahip değildir. Duyarlık kaybı yaşanabilir. Bu, Azure Stream Analytics'e özgü değildir ancak tüm kayan noktalı sayı uygulamalarında gerçekleşir.
nvarchar(max) Unicode karakterlerinden oluşan metin değerleri. Not: Max dışında bir değer desteklenmez.
tarih/zaman 24 saatlik bir saati temel alan ve UTC'ye göre (saat dilimi uzaklığı 0) kesirli saniyelerle (7 basamak, 100 nanosaniye duyarlığı) günün saatiyle birleştirilen tarihi tanımlar.
parça 1, 0 veya NULL değerini alabilen bir tamsayı. Bu, uyumluluk düzeyi 1.2 ve üzerinde desteklenir.
kayıt Ad/değer çiftleri kümesi. Değerler desteklenen veri türünde olmalıdır.
array Sıralı değer koleksiyonu. Değerler desteklenen veri türünde olmalıdır.

Bigint ve float veri türüne katılabilir (veya karşılaştırabilirsiniz). Temsil edilemeyen çok büyük bigint değerleri dışında her durumda düzgün çalışır.

Uyarı

Azure Stream Analytics, aralığın dışında bigint veri türlerini okurken şunları destekler: Stream Analytics işiniz şu hata iletisiyle olayları seri durumdan çıkaramaz: InputDeserializationError. Verileri önceden işleyebilir ve dizeye dönüştürebilirsiniz. Bir seçenek, verileri önceden işlemek ve bu büyük tamsayıları dizeye dönüştürmek için Azure işlevlerini kullanmaktır.

Tip dönüştürmeleri

Veri türü dönüştürmelerini yöneten kurallar şunlardır:

  • Giriş okuma ve çıkış yazma işlemleri sırasında duyarlık kaybı olmadan dönüştürme örtük olur ve her zaman başarılı olur
  • Çıktı yazma işlemlerinin içinde duyarlık kaybı ve taşması, yapılandırılmış hata ilkesi tarafından işlenir (Bırak veya Yeniden Dene olarak ayarlanır)
  • Çıkış yazma işlemleri sırasında oluşan tür dönüştürme hataları hata ilkesi tarafından işlenir
  • Giriş okuma işlemleri sırasında oluşan tür dönüştürme hataları işin olayı bırakmasına neden oluyor

Değerlerin kayan değere dönüştürülmesinde duyarlık kaybı oluşabilir. Azure Stream Analytics'e değil, genel olarak kayan veri türüne özgüdür. Bu nedenle hata olarak kabul edilmez. Her rakamın korunması gereken durumlarda, veriler dize olarak okunmalıdır.

Veri atama

Akış SQL dilinde verilerinizin veri türünü gözlemlemek ve ayarlamak için yararlı olan dört işlev vardır.

  • CAST : Belirli bir türe tek bir sütun atama- dönüştürme hatası durumunda iş başarısız olur
  • TRY_CAST : Belirli bir türe tek bir sütun atama - hatalar NULL olarak geçirilir. En iyi kullanımın nasıl yapılacağını öğrenmek için giriş doğrulamaya bakın TRY_CAST
  • CREATE TABLE : Bir giriş için tek bir açık şema tanımlayın. Dönüştürme hatası olan satırlar akıştan kaldırılır
  • GetType : bir sütunun türünü döndürür

Çoğu kullanım örneğinde önerilen seçenek TRY_CAST kullanmaktır. Bu işlev çıkış türünü sağlayarak aşağı akış işlemeyi korurken hatadaki değeri NULL ile değiştirerek veri kaybını önler. Satır bırakılmaz ve bu özgün değer başka bir sütuna yansıtılabilir.

Güçlü garantiler için önerilen seçenek CREATE TABLE kullanmaktır. Bu yaklaşım, sapma riski olmadan belirli bir girişin şemasının işini bilgilendirmeye olanak tanır. Belirli bir girişte yalnızca tek bir şema tanımlanabilir ve uyumlu olmayan satırlar bırakılır.

Mümkünse, tüm atama işlemleri diğer işlevlerde örtük (sessizce) yerine bu işlevler aracılığıyla açıkça yapılmalıdır. Bu, SQL veritabanları gibi kesin olarak yazılan çıkışlar için tür uyuşmazlıklarını, beklenmeyen davranışları ve ekleme hatalarını önler. Ana sorgu mantığını bu tür hatalardan nasıl koruyacağınızı öğrenmek için bkz. giriş doğrulaması .

Bite dönüştürme

Değerler float ve bit arasında aşağıdaki kurallarla dönüştürülür:

Kaynak İçin
(BIT) 1 (KAYAN) 1.0
(BIT) 0 (KAYAN) 0,0
(BIT) SIFIR (KAYAN) SIFIR
(KAYAN) 0,0 (BIT) 0
(KAYAN) başka bir değer (BIT) 1
(KAYAN) SIFIR (BIT) SIFIR

Tür eşlemeleri ve serileştirme biçimleri

Veri türü içindeki CSV CSV çıktısı JSON JSON çıkışı Avro in Avro çıkışı
bigint 64 bit işaretli tamsayıya dönüştürülen dize İş kültürü kullanılarak dizeye dönüştürülen 64 bit imzalı tamsayı sayı: 64 bit işaretli tamsayıya dönüştürülen tamsayı;

Boole değeri: uyumluluk düzeyi 1.1'de ve altında "false" 0'a, "true" 1'e dönüştürülür
sayı: tamsayı long ve int 64 bit işaretli tamsayıya dönüştürülür;

Boole değeri: Uyumluluk düzeyi 1.1'de ve false'un altında 0'a, true değeri 1'e dönüştürülür
uzun
yüzmek dize 64 bit işaretli kayan nokta numarasına dönüştürüldü İş kültürü kullanılarak dizeye dönüştürülen 64 bit imzalı kayan nokta numarası sayı: 64 bit işaretli kayan nokta numarasına dönüştürülen kesir sayı: kesir double ve float 64 bit işaretli kayan nokta numarasına dönüştürüldü iki katı
nvarchar(max) String String String String String String
tarih ve saat ISO 8601 standard'dan sonra tarih saatine dönüştürülen dize ISO 8601 standardı kullanan dize ISO 8601 standard'dan sonra tarih saatine dönüştürülen dize DATETIME, ISO 8601 standardı kullanılarak dizeye dönüştürüldü ISO 8601 standard'dan sonra tarih saatine dönüştürülen dize DATETIME, ISO 8601 standardı kullanılarak dizeye dönüştürüldü
bit (uyumluluk düzeyi 1.2 ve üzeri) "true", "false" veya "null" dizesi karşılık gelen 1, 0 veya null tamsayı değerine dönüştürülür "true" veya "false" dizesine dönüştürüldü Boole: "false" 0'a, "true" ise 1'e dönüştürülür Boole değeri: boole değeri Boole değeri: false 0'a, true değeri 1'e dönüştürülür Boolean
kayıt Mevcut Değil Desteklenmez, "Kayıt" dizesi çıkarılır JSON nesnesi JSON nesnesi Avro kayıt türü Avro kayıt türü
dizisi Mevcut Değil Desteklenmez, "Dizi" dizesi çıkarılır JSON nesnesi JSON nesnesi Avro kayıt türü Avro kayıt türü

Uyarı

Parquet için veri türü dönüştürmesi gerekmez.

Yapılandırılmış veri depolarına yazarken tür eşlemesi

Veri türü SQL Power BI Azure Cosmos DB veritabanı PostgreSQL Azure Veri Araştırıcısı
bigint bigint, int, smallint, tinyint, tüm dize türleri (ntext, nvarchar, char, ...) evet sayısal: tamsayı bigint

Sütun türü smallint veya tamsayıysa, "yanlış ikili veri biçimi" hatası oluşur.
dinamik, int, uzun
yüzmek float, gerçek, ondalık, sayısal, tüm dize türleri (ntext, nvarchar, char, ...) evet sayı: kesir çift duyarlık, sayısal. 1,78E+308 ile sınırlıdır

Sütun türü gerçekse, "yanlış ikili veri biçimi" hatası oluşur.
dinamik, gerçek, çift
nvarchar(max) Tüm dize türleri (ntext, nvarchar, char, uniqueidentifier...) evet String karakter değişen, metin dinamik, dize
tarih ve saat datetime, datetime2, datetimeoffset, tüm dize türleri (ntext, nvarchar, char, ...) evet DATETIME, ISO 8601 standardı kullanılarak dizeye dönüştürüldü UTC zaman damgası için zaman damgası, aksi halde zaman damgası dynamic, string, datetime
bit (uyumluluk düzeyi 1.2 ve üzeri) bigint, int, smallint, tinyint, bit, tüm dize türleri (ntext, nvarchar, char, ...) evet boolean: 1 true, 0 false olarak dönüştürülür parça dinamik, bool
kayıt Desteklenmez, "Kayıt" dizesi çıkarılır Desteklenmez, "Kayıt" dizesi çıkarılır JSON nesnesi Desteklenmiyor dynamic, bool, long, datetime, bayt dizisi, gerçek, çift, dize
dizisi Desteklenmez, "Dizi" dizesi çıkarılır Desteklenmez, "Dizi" dizesi çıkarılır JSON nesnesi Desteklenmiyor dinamik, dize