Veri akış eşlemesinde doğrulama dönüşümü

ŞUNLARA UYGULANIR: Azure Data Factory Azure Synapse Analytics

Veri akışları hem Azure Data Factory işlem hatlarında hem de Azure Synapse Analytics işlem hatlarında kullanılabilir. Bu makale, eşleme veri akışları için geçerlidir. Dönüştürmeler hakkında yeniyseniz , Eşleme veri akışlarını kullanarak verileri dönüştürme başlıklı giriş makalesine bakın.

İpucu

Assert dönüşümü şu anda Dataflow 2. Nesil'de desteklenmiyor. Desteklenen dönüştürmelerin ve bunların eşdeğerlerinin listesi için bkz. Veri akışı kullanıcılarını eşlemek için Veri Akışı 2. Nesil kılavuzu.

Assert dönüşümü, veri kalitesi ve veri doğrulaması için eşleme veri akışlarınızda özel kurallar oluşturmanıza olanak tanır. Değerlerin beklenen değer etki alanını karşılayıp karşılamadığını belirleyen kurallar oluşturabilirsiniz. Ayrıca, satır benzersizliğini denetleen kurallar oluşturabilirsiniz. Assert dönüşümü, verilerinizdeki her satırın bir ölçüt kümesini karşılayıp karşılamadığını belirlemeye yardımcı olur. Assert dönüştürmesi, veri doğrulama kuralları karşılanmadığında özel hata iletileri ayarlamanıza da olanak tanır.

Tip doğrula

Yapılandırma

Onay dönüştürme yapılandırma panelinde onay türünü seçer, onay için benzersiz bir ad, isteğe bağlı açıklama sağlar ve ifade ile isteğe bağlı filtreyi tanımlarsınız. Veri önizleme bölmesi, onaylarınızın başarısız olduğu satırları gösterir. Ayrıca, isError() ve hasError() kullanarak, her satır etiketini sonraki işlemde ve onaylarının başarısız olduğu satırları test edebilirsiniz.

Onay ayarları

Doğrulama türü

  1. Doğru bekleniyor: İfadenizin sonucu, boolean doğru olarak değerlendirilmelidir. Verilerinizdeki etki alanı değer aralıklarını doğrulamak için bu ayarı kullanın.
  2. Benzersiz olmasını bekleme: Verilerinizde bir sütunu veya ifadeyi benzersizlik kuralı olarak ayarlayın. Yinelenen satırları etiketlemek için bu ayarı kullanın.
  3. Beklenir: Bu seçenek yalnızca ikinci bir gelen akış seçtiğinizde kullanılabilir. Exists her iki akışa da bakar ve satırların sütunlara veya belirttiğiniz ifadelere göre her iki akışta da mevcut olup olmadığını belirler. Var olan ikinci akışı eklemek için Additional streams öğesini seçin.

Doğrulama yapılandırması

Veri akışını başarısız yap

Onay kuralı başarısız olur olmaz veri akışı etkinliğinizin hemen başarısız olmasını istiyorsanız seçin fail data flow .

Doğrulama Kimliği

Assert Id, onayınız için bir (dize) adı girdiğiniz bir özelliktir. tr-TR: hasError() veri akışınızda daha sonra kimliği kullanabilir veya onay hata kodunu çıktılayabilirsiniz. Doğrulama kimlikleri her veri akışı içinde benzersiz olmalıdır.

Doğrulama açıklaması

Doğrulamanız için buraya bir dize tanımı girin. Burada ifadeleri ve satır bağlamı sütun değerlerini de kullanabilirsiniz.

Filtre

Filter, ifade değerinize göre onayları yalnızca bir satır alt kümesine göre filtreleyebileceğiniz isteğe bağlı bir özelliktir.

İfade

Doğrulamalarınızın her biri için değerlendirilmek üzere bir ifade girin. Her bir assert dönüştürmesi için birden çok doğrulamanız olabilir. Her onay türü, onayın geçirilip geçirilmediğini test etmek için ADF'nin değerlendirmesi gereken bir ifade gerektirir.

NULL değerlerini yoksay

Varsayılan olarak, doğrulama dönüştürmesi satır doğrulama değerlendirmesinde NULL değerleri içerir. Bu özellik ile NULL'leri yoksaymayı seçebilirsiniz.

Doğrudan doğrulama satırı hataları

Onaylama işlemi başarısız olduğunda, havuz dönüşümündeki "Hatalar" sekmesini kullanarak isteğe bağlı olarak bu hata satırlarını Azure bir dosyaya yönlendirebilirsiniz. Ayrıca sink dönüşümünde, hata satırlarını yoksayarak doğrulama hataları olan satırların hiç çıkışını almama seçeneğiniz de vardır.

Örnekler

source(output(
		AddressID as integer,
		AddressLine1 as string,
		AddressLine2 as string,
		City as string,
		StateProvince as string,
		CountryRegion as string,
		PostalCode as string,
		rowguid as string,
		ModifiedDate as timestamp
	),
	allowSchemaDrift: true,
	validateSchema: false,
	isolationLevel: 'READ_UNCOMMITTED',
	format: 'table') ~> source1
source(output(
		CustomerID as integer,
		AddressID as integer,
		AddressType as string,
		rowguid as string,
		ModifiedDate as timestamp
	),
	allowSchemaDrift: true,
	validateSchema: false,
	isolationLevel: 'READ_UNCOMMITTED',
	format: 'table') ~> source2
source1, source2 assert(expectExists(AddressLine1 == AddressLine1, false, 'nonUS', true(), 'only valid for U.S. addresses')) ~> Assert1

Veri akışı betiği

Örnekler

source1, source2 assert(expectTrue(CountryRegion == 'United States', false, 'nonUS', null, 'only valid for U.S. addresses'),
	expectExists(source1@AddressID == source2@AddressID, false, 'assertExist', StateProvince == 'Washington', toString(source1@AddressID) + ' already exists in Washington'),
	expectUnique(source1@AddressID, false, 'uniqueness', null, toString(source1@AddressID) + ' is not unique')) ~> Assert1