Yürütme planı ve arabellek ayırma
Önce yürütme, veri akışı görev bileşenlerinden inceler ve bileşenlerin her sıra için yürütme planı oluşturur. Bu bölümde nasıl yürütme planı hakkında ayrıntılar verilmektedir planı görüntülemek ve nasıl giriş ve çıkış arabelleği yürütme planına dayanarak tahsis edilen.
Yürütme planı anlama
Kaynak konuları ve çalışma konuları, yürütme planı içerir ve giriş ve çıkış listeleri için çalışma konuları çalışırken veya her iş parçacığı çıktı iş listeleri için kaynak konuları belirlemek iş listeleri içerir. Yürütme planı kaynak konular veri akışının kaynak bileşenleri temsil ve yürütme planı tarafından tespit SourceThreadn, burada n sıfır tabanlı kaynak iş parçacığı sayısıdır.
Her kaynak iş parçacığı bir arabellek oluşturur, bir dinleyici ayarlar ve PrimeOutputkaynak bileşen yöntemi. Yürütme başlatır ve veri kaynaklandığı, olarak çıktı arabelleği için veri akışı görev tarafından sağlanan satır ekleyerek kaynak bileşeni başlar olmasıdır. Kaynak konuları çalıştıran sonra iş dengesi çalışma konuları arasında dağıtılır.
İş iş parçacığı her iki giriş ve çıkış iş listelerini içerebilir ve yürütme planı tanımlanan WorkThreadn, burada n sıfır tabanlı iş parçacığı sayısıdır. Grafik bileşeni ile zaman uyumsuz çıkışlarına içeriyorsa bu konuları çıktı iş listeleri içerir.
Aşağıdaki örnek yürütme planı ile uyumsuz bir çıkış için hedef bileşeni bağlı bir dönüşümü bağlı kaynak bileşeni içeren veri akışı gösterir. Bir zaman uyumsuz çıktı dönüşümü bileşeni olduğundan bu örnekte, WorkThread0 bir çıktı iş listesi içerir.
SourceThread0
Influences: 72 158
Output Work List
CreatePrimeBuffer of type 1 for output id 10
SetBufferListener: "WorkThread0" for input ID 73
CallPrimeOutput on component "OLE DB Source" (1)
End Output Work List
This thread drives 0 distributors
End SourceThread0
WorkThread0
Influences: 72 158
Input Work list, input ID 73
CallProcessInput on input ID 73 on component "Sort" (72) for view type 2
End Input Work list for input 73
Output Work List
CreatePrimeBuffer of type 3 for output id 74
SetBufferListener: "WorkThread1" for input ID 171with internal handoff
CallPrimeOutput on component "Sort" (72)
End Output Work List
This thread drives 0 distributors
End WorkThread0
WorkThread1
Influences: 158
Input Work list, input ID 171
CallProcessInput on input ID 171 on component "OLE DB Destination" (158) for view type 4
End Input Work list for input 171
Output Work List
End Output Work List
This thread drives 0 distributors
End WorkThread1
SourceThread0
Influences: 72 158
Output Work List
CreatePrimeBuffer of type 1 for output id 10
SetBufferListener: "WorkThread0" for input ID 73
CallPrimeOutput on component "OLE DB Source" (1)
End Output Work List
This thread drives 0 distributors
End SourceThread0
WorkThread0
Influences: 72 158
Input Work list, input ID 73
CallProcessInput on input ID 73 on component "Sort" (72) for view type 2
End Input Work list for input 73
Output Work List
CreatePrimeBuffer of type 3 for output id 74
SetBufferListener: "WorkThread1" for input ID 171with internal handoff
CallPrimeOutput on component "Sort" (72)
End Output Work List
This thread drives 0 distributors
End WorkThread0
WorkThread1
Influences: 158
Input Work list, input ID 171
CallProcessInput on input ID 171 on component "OLE DB Destination" (158) for view type 4
End Input Work list for input 171
Output Work List
End Output Work List
This thread drives 0 distributors
End WorkThread1
[!NOT]
Her zaman bir paket yürütülür ve günlüğe kaydetme ve seçme etkinleştirme paketi, bir günlük sağlayıcı ekleyerek yakalanan yürütme planı oluşturulur PipelineExecutionPlanolay.
Arabellek ayırma anlama
Veri akışı görev yürütme planına dayanarak, veri akışı bileşenlerini çıkışları tanımlanan sütunları içeren arabellekleri oluşturur. Bir bileşeni ile zaman uyumsuz çıkışlarına karşılaştı kadar tampon olarak veri akışı bileşenleri, sırası ile yeniden. Sonra zaman uyumsuz çıktı çıktı sütunları ve çıktı sütunları aşağı akım bileşenleri içeren yeni bir arabellek oluşturulur.
Yürütme sırasında bileşenleri arabellek geçerli kaynak ya da iş thread erişebilirsiniz. Tarafından sağlanan herhangi bir giriş arabellek, arabellek ise ProcessInputyöntemini veya tarafından sağlanan çıkış arabelleği, PrimeOutputyöntemi. ModeÖzelliği PipelineBufferda bir giriş veya çıkış arabelleği olarak her arabellek tanımlar.
Zaman uyumsuz çıkışlarına dönüşümü bileşenlerle alırsınız varolan giriş arabelleğinden ProcessInputyöntemi, yeni çıkış arabellek alıp PrimeOutputyöntemi. İle zaman uyumsuz çıkışlarına dönüşümü bileşen hem giriş hem de çıkış arabelleği alır veri akışı bileşen tek türüdür.
Bir bileşen için sağlanan arabellek bulunma olasılığı olduğundan, çok bileşen sütun vardır, girdi veya çıktı sütunu koleksiyonları bileşen geliştiricileri arayabilir FindColumnByLineageIDyöntemi bir sütun belirterek arabellekte bulun, LineageID.
|