Paket iş akışı, görev için profil oluşturma verileri kullanarak
Otomatik bir süreç için aday veri profil oluşturma ve temizleme, erken aşamalarında değildir.In SQL Server Integration Services, the output of the Data Profiling task usually requires visual analysis and human judgment to determine whether reported violations are meaningful or excessive.Veri kalitesi sorunlarını tanımak sonra bile hala sahip temizleme için en iyi yaklaşım, dikkatli bir şekilde thought-out bir plan olması.
Ancak, veri kalite ölçütlerini kurulduktan sonra bir dönemsel analiz ve temizleme veri kaynağının otomatik hale getirmek isteyebilirsiniz.Bu senaryoları göz önünde bulundurun:
Artan bir yük önce veri kalite kontrol.Data profil oluşturma görevi MüşteriAdı sütununda bir müşteri için yeni veri sütun null oranı profil hesaplamak için kullanmak tablo.Null değerler yüzdesi % 20'den büyükse, profili çıktı işleç için içeren bir e-posta iletisi göndermek ve paketin son.Aksi halde, artan yükü devam edin.
Otomatikleştirme, belirtilen koşulları bir temizleme.Data profil oluşturma görev durumu sütununda bir arama tablosu durumları ve posta kodu sütununda bir arama tablosu posta kodlarının karşı karşı değer içerme profilinin hesaplamak için kullanın.Durum değerleri ekleme gücünü % 80'den az olan, ancak posta kodu değerleri ekleme gücünü % 99 ' büyükse, bu iki şey gösterir.İlk olarak, durum verisi hatalı olur.İkinci olarak, posta kodu verileri uygundur.Geçerli posta kodu posta kodu değer doğru durum değeri arama yaparak durumu verileri temizler veri akışı görevi başlatma.
veri akışı görevi katabilirler bir iş akışı oluşturduktan sonra bu görevi eklemek için gereken adımlar anlamak gerekir.Sonraki bölümde genel veri akışı görevi ekleme işlemini açıklar.Son iki bölümde, veri akışı görev ya da doğrudan veri bağlamak anlatan kaynak ya da dönüştürülmüş verileri veri akışı için.
veri akışı görevi için bir genel iş akışı tanımlama
Aşağıdaki yordam iş akışında çıktı veri profil oluşturma görevinin kullanmak için genel yaklaşım özetlenmektedir bir paket.
Çıktı verileri profil oluşturma görevin programlı olarak kullanılacak bir paket
Data profil oluşturma görev eklemek ve bir paket.
Profil sonuçlar almak için istediğiniz değerleri tutmak için paket değişkenleri yapılandırın.
Ekleme ve yapılandırma komut dosyası göreve.Komut dosyası görev Data profil oluşturma göreve bağlayın.Komut dosyası görev, istenen değerleri veri profil oluşturma görevinin çıktı dosyadan okur ve paket değişkenleri dolduran kodunu yazın.
İş akışında aşağı akım dalları kod görev bağlanmak öncelik kısıtlamaları değişkenleri değerlerini doğrudan iş akışı kullanan ifade yazın.
Data profil oluşturma görevi iş akışı içinde ekleme, bir paket, bu iki görevin özelliklerini göz önünde bulundurun:
Görev çıkışı.Data profil oluşturma görevi çıktısı bir dosyaya veya bir paket değişken DataProfile.xsd şemaya göre XML biçiminde yazar.Bu nedenle, bir paketin koşullu akışında profili sonuçlar kullanmak istediğiniz XML çıktısı arama gerekir.Bu XML çıktısı sorgusu için XPath sorgu dili kolayca kullanabilirsiniz.Bu XML çıktısı yapısını incelemek için bir çıktı dosyası ya da şema kendisini açabilirsiniz.To open the output file or schema, you can use Microsoft Visual Studio, another XML editor, or a text editor, such as Notepad.
Not
Data profil görüntüleyicide görüntülenir profil sonuçlar çıkışı doğrudan bulunmayan hesaplanmış değerleri şunlardır.Örneğin, çıktı sütun null oranı profilinin toplam satır sayısını ve null değerler içeren satır numarasını içerir.Bu iki değer sorgulamak ve sonra sütun null oranı elde etmek için boş değer içeren satırları yüzdesi hesaplamak zorunda.
Görev girişi.The Data profil oluşturma görevi, girdisini okurSQL ServerTablo.Bu nedenle, zaten yüklenmiş ve veri akışı içinde dönüştürülmüş bir profil verileri kullanmak istiyorsanız, tablo hazırlama için bellek, verileri kaydetmeniz gerekir.
Aşağıdaki bölümlerde bu genel iş akışını doğrudan bir dış veri gelen verileri profil oluşturma için uygulama kaynak veya, dönüştürülen veri akışı görevden.Bu, giriş ve çıkış veri akışının görev gereksinimlerini nasıl da gösterir.
Profil oluşturma bir dış veri doğrudan göreve veri bağlama kaynak
Data profil oluşturma görevini bir verileri doğrudan gelen veri profil kaynak.Bu yetenek göstermek için bir sütun null oranı profili Person.Address tablonun sütunları hesaplamak için Data profil oluşturma görev aşağıdaki örnekte kullanırAdventureWorksveritabanı.Daha sonra bu örnek almak için bir komut dosyası görev kullanır sonuçlar çıktı gelen dosya ve doğrudan iş akışı için paket değişkenleri doldurun.
Not
Bu sütun null değerleri yüksek bir yüzdesini içerdiğinden AddressLine2 sütunu bu basit örnekte seçildi.
Bu örnekte, aşağıdaki adımlardan oluşur:
Dış veri kaynağına ve profil sonuçlar içeren çıkış dosyası bağlantısı yöneticileri yapılandırma.
Data profil oluşturma görevi tarafından gerekli değerleri tutacak paket değişkenleri yapılandırma.
Data profil oluşturma görevi sütun null oranı profil hesaplamak için yapılandırma.
Data profil oluşturma görevi XML çıktısı çalışması için komut dosyası görev yapılandırma.
İş akışındaki hangi aşağı akım dalları temel çalışma denetleyen öncelik kısıtlamaları yapılandırma sonuçlar Data profil oluşturma görevinin.
Bağlantı Yöneticisi yapılandırma
Bu örnekte, iki bağlantı yöneticileri vardır:
AnADO.NETbağlandığı bağlantı YöneticisiAdventureWorksveritabanı.
Çıktı dosyası oluşturan bir dosya Bağlantı Yöneticisi profil oluşturma veri görev sonuçlarını tutacaktır.
Bağlantı yöneticileri yapılandırmak için
InBusiness Intelligence Development StudioYeni oluşturmaIntegration Servicespaket.
Ekleme birADO.NETBağlantı Yöneticisi paket.Bu NET veri sağlayıcı için kullanılacak Bağlantı Yöneticisi yapılandırmaSQL Server(SqlClient), kullanılabilir bir örneğine bağlanmak için veAdventureWorksveritabanı.
Varsayılan olarak, Bağlantı Yöneticisi aşağıdaki adı vardır: < sunucu adı > .AdventureWorks1.
Bir dosya Bağlantı Yöneticisi paket ekleyin.Data profil oluşturma görev için çıktı dosyası oluşturmak için bu bağlantı Yöneticisi'ni yapılandırın.
Bu örnek, DataProfile1.xml dosya adını kullanır.Varsayılan olarak, Bağlantı Yöneticisi dosyayla aynı ada sahip.
Paket değişkenleri yapılandırma
Bu örnek, iki paket değişken kullanır:
ProfileConnectionName değişken komut dosyası göreve Bağlantı Yöneticisi dosya adını geçirir.
AddressLine2NullRatio değişken komut dosyası görevi, bu sütun için hesaplanan null oranı paket iletir.
Profil sonuçlar tutacak paket değişkenleri yapılandırmak için
,Değişkenleri penceresinde eklemek ve aşağıdaki iki paket değişkeni:
ENTER adıProfileConnectionName, bir değişkeni ve küme dizebu değişken türü.
ENTER adıAddressLine2NullRatio, diğer değişkeni ve küme çiftbu değişken türü.
Görev profil oluşturma verileri yapılandırma
Aşağıdaki şekilde yapılandırılacak veri profil oluşturma görevi vardır:
Verileri kullanmak içinADO.NETBağlantı Yöneticisi Kaynakları girdi.
Bir sütun null oranı profili verilerin üzerinde gerçekleştirilecek.
Profilin kaydedileceği sonuçlar dosya Bağlantı Yöneticisi ile ilişkili dosya.
Data profil oluşturma görevi yapılandırmak için
Denetim akışı için veri profil oluşturma görev ekleyin.
AçıkVeri profil oluşturma, görev Düzenleyicisi görev. yapılandırmak için
,Genel sayfa için hedef, Düzenleyicisi, önceden yapılandırılmış Bağlantı Yöneticisi dosya adını seçin.
,Profil isteği bir yeni sütun null oranı profil. sayfa Düzenleyicisi, oluşturma
,İstek özellikleriConnectionManager bölmesinde seçin ADO.NETönceden yapılandırılmış Bağlantı Yöneticisi.Daha sonra içinTableOrView, seçim Person.Address.
Görev Düzenleyicisi profil oluşturma verileri kapatın.
Yapılandırma komut dosyası görev
Komut dosyası görev çıktı dosyasının sonuçlarını almak ve önceden yapılandırılmış paket değişkenleri doldurmak için yapılandırılmış olması gerekir.
Komut dosyası görevi yapılandırmak için
İçin Denetim akışı, ekleme komut dosyası bir görev.
Komut dosyası görev Data profil oluşturma göreve bağlayın.
AçıkKomut dosyası görev Düzenleyicisi görev. yapılandırmak için
,Komut dosyası sayfasında, bilgisayarınızın tercih edilen programlama dili. seçin Sonra iki paket değişkenleri komut dosyası için kullanılabilir yapın:
İçinReadOnlyVariables, seçim ProfileConnectionName .
İçinReadWriteVariables, seçim AddressLine2NullRatio .
SeçinKomut dosyası Düzenle Açılacak komut dosyası geliştirme ortamı.
System.XML ad alanı için bir başvuru ekleyin.
Programlama diliniz karşılık gelen örnek kodunu girin:
Imports System Imports Microsoft.SqlServer.Dts.Runtime Imports System.Xml Public Class ScriptMain Private FILENAME As String = "C:\ TEMP\DataProfile1.xml" Private PROFILE_NAMESPACE_URI As String = "https://schemas.microsoft.com/DataDebugger/" Private NULLCOUNT_XPATH As String = _ "/default:DataProfile/default:DataProfileOutput/default:Profiles" & _ "/default:ColumnNullRatioProfile[default:Column[@Name='AddressLine2']]/default:NullCount/text()" Private TABLE_XPATH As String = _ "/default:DataProfile/default:DataProfileOutput/default:Profiles" & _ "/default:ColumnNullRatioProfile[default:Column[@Name='AddressLine2']]/default:Table" Public Sub Main() Dim profileConnectionName As String Dim profilePath As String Dim profileOutput As New XmlDocument Dim profileNSM As XmlNamespaceManager Dim nullCountNode As XmlNode Dim nullCount As Integer Dim tableNode As XmlNode Dim rowCount As Integer Dim nullRatio As Double ' Open output file. profileConnectionName = Dts.Variables("ProfileConnectionName").Value.ToString() profilePath = Dts.Connections(profileConnectionName).ConnectionString profileOutput.Load(profilePath) profileNSM = New XmlNamespaceManager(profileOutput.NameTable) profileNSM.AddNamespace("default", PROFILE_NAMESPACE_URI) ' Get null count for column. nullCountNode = profileOutput.SelectSingleNode(NULLCOUNT_XPATH, profileNSM) nullCount = CType(nullCountNode.Value, Integer) ' Get row count for table. tableNode = profileOutput.SelectSingleNode(TABLE_XPATH, profileNSM) rowCount = CType(tableNode.Attributes("RowCount").Value, Integer) ' Compute and return null ratio. nullRatio = nullCount / rowCount Dts.Variables("AddressLine2NullRatio").Value = nullRatio Dts.TaskResult = Dts.Results.Success End Sub End Class
using System; using Microsoft.SqlServer.Dts.Runtime; using System.Xml; public class ScriptMain { private string FILENAME = "C:\\ TEMP\\DataProfile1.xml"; private string PROFILE_NAMESPACE_URI = "https://schemas.microsoft.com/DataDebugger/"; private string NULLCOUNT_XPATH = "/default:DataProfile/default:DataProfileOutput/default:Profiles" + "/default:ColumnNullRatioProfile[default:Column[@Name='AddressLine2']]/default:NullCount/text()"; private string TABLE_XPATH = "/default:DataProfile/default:DataProfileOutput/default:Profiles" + "/default:ColumnNullRatioProfile[default:Column[@Name='AddressLine2']]/default:Table"; public void Main() { string profileConnectionName; string profilePath; XmlDocument profileOutput = new XmlDocument(); XmlNamespaceManager profileNSM; XmlNode nullCountNode; int nullCount; XmlNode tableNode; int rowCount; double nullRatio; // Open output file. profileConnectionName = Dts.Variables["ProfileConnectionName"].Value.ToString(); profilePath = Dts.Connections[profileConnectionName].ConnectionString; profileOutput.Load(profilePath); profileNSM = new XmlNamespaceManager(profileOutput.NameTable); profileNSM.AddNamespace("default", PROFILE_NAMESPACE_URI); // Get null count for column. nullCountNode = profileOutput.SelectSingleNode(NULLCOUNT_XPATH, profileNSM); nullCount = (int)nullCountNode.Value; // Get row count for table. tableNode = profileOutput.SelectSingleNode(TABLE_XPATH, profileNSM); rowCount = (int)tableNode.Attributes["RowCount"].Value; // Compute and return null ratio. nullRatio = nullCount / rowCount; Dts.Variables["AddressLine2NullRatio"].Value = nullRatio; Dts.TaskResult = Dts.Results.Success; } }
Not
Bu yordamda gösterildiği örnek kod, veri profil oluşturma görev çıktısını bir dosya yükleme gösterilmiştir.Data profil oluşturma görev çıktısını yerine bir paket değişkeninden yüklemek için bu yordamı takip eden diğer örnek kod bakın.
Komut dosyası geliştirme ortamı kapatın ve sonra görev Kod Düzenleyicisi'ni kapatın.
Alternatif kod — profil çıktı bir değişken okuma
Data profil oluşturma görevden çıktısını bir dosyadan yüklemek için önceki yordamı gösterir.Ancak, bu çıktı bir paket değişkeninden yüklemek için alternatif bir yöntem olacaktır.Çıktı bir değişkeninden yüklemek için örnek kod için aşağıdaki değişiklikleri vardır:
CallLoadXmlyöntemi,XmlDocumentyerine sınıfLoadyöntem.
The Script görev Düzenleyicisi'nde, görev için profil çıktı içeren paket değişkeninin adı eklemeReadOnlyVariablesliste.
Dize değerini değişkenine,LoadXMLyöntem, gösterildiği gibi aşağıdaki kod örneği.(Bu örnekte, "ProfileOutput" profili çıktı içeren paket değişken adı olarak kullanır.)
Dim outputString As String outputString = Dts.Variables("ProfileOutput").Value.ToString() ... profileOutput.LoadXml(outputString)
string outputString; outputString = Dts.Variables["ProfileOutput"].Value.ToString(); ... profileOutput.LoadXml(outputString);
Öncelik kısıtlamaları yapılandırma
Öncelik kısıtlamaları iş akışındaki hangi aşağı akım dalları Data profil oluşturma görevi sonuçlarına göre çalışan denetimi için yapılandırılmış olması gerekir.
Öncelik kısıtlamaları yapılandırmak için
İş akışında aşağı akım dalları kod görev bağlanmak öncelik kısıtlamaları değişkenleri değerlerini doğrudan iş akışı kullanan ifade yazın.
, Örneğin olabilir kümeDeğerlendirme işlemi öncelik kısıtlamanın ifade ve kısıtlama . Daha sonra kullanın@AddressLine2NullRatio < .90değerini ifade.Bu, önceki görevleri başarılı ve % 90'den az seçili sütunun null değerleri yüzdesi, seçilen yol izlemek iş akışı sağlar.
Görev için dönüştürülen verilerin veri akışı profil oluşturma verileri bağlama
Profil oluşturma verileri doğrudan bir veri yerine kaynak, zaten yüklü ve veri akışı dönüştürülen veri profil.Ancak, yalnızca kalıcı verilere, bellekteki verilere değil karşı karşı Data profil oluşturma görev çalışır.Bu nedenle, önce hedef bileşeni için bir hazırlama dönüştürülmüş verileri kaydetmek için kullanmanız gerekir tablo.
Not
Data profil oluşturma görevi konfigüre ettiğinizde, varolan tablo ve sütun seçmek vardır.Bu nedenle, tasarım sırasında çalışma tablosu oluşturmanız gerekir saat önce görev yapılandırabilirsiniz.Diğer bir deyişle, bu senaryoda, çalıştırma sırasında oluşturulan geçici tablo kullanmak izin vermez.
Sonra bir hazırlama için verileri kaydetme tablo, aşağıdaki eylemleri gerçekleştirebilirsiniz:
Profil verileri için veri profil oluşturma görevi'ni kullanın.
Bu konuda daha önce açıklandığı gibi sonuçlar okumak için bir komut dosyası görev kullanın.
Bu sonuçlar, sonraki iş akışı paket yönlendirmek için kullanın.
Aşağıdaki yordam, veri akışı tarafından dönüştürülmüş profil verileri veri profil oluşturma görevi kullanma genel yaklaşım sağlar.Bu adımların çoğu, doğrudan bir dış veri kaynağından gelen verileri profil oluşturma için daha önce açıklanan olanlara benzer.Bu çeşitli bileşenleri yapılandırma hakkında daha fazla bilgi için önceki adımları gözden geçirmek isteyebilirsiniz.
Data profil oluşturma görevi veri akışı kullanmak için
InBusiness Intelligence Development Studiooluşturma paket.
Veri akışı eklemek, yapılandırmak ve uygun kaynakları ve dönüştürme.
Veri akışı içinde eklemek, yapılandırmak ve bağlanmak için bir hazırlama dönüştürülmüş verilerini kaydeden hedef bileşeni tablo.
Denetim akışı eklemek ve yapılandırmak istediğiniz profilleri hazırlama, dönüştürülen verilerin karşı hesaplar Data profil oluşturma görevi tablo.Data profil oluşturma görevi veri akışı göreve bağlayın.
Profil sonuçlar almak için istediğiniz değerleri tutmak için paket değişkenleri yapılandırın.
Ekleme ve yapılandırma komut dosyası göreve.Komut dosyası görev Data profil oluşturma göreve bağlayın.Komut dosyası görev, Data profil oluşturma görevin çıktısı istenen değerleri okur ve paket değişkenleri dolduran kodunu yazın.
İş akışında aşağı akım dalları kod görev bağlanmak öncelik kısıtlamaları değişkenleri değerlerini doğrudan iş akışı kullanan ifade yazın.
|