ETL Transformation Kavramını Informatica Powecenter Designer Aracılığıyla İnceleyelim
Merhaba arkadaşlar sizlere bu yazımda Informatica PowerCenter Designer’ın Transformation özelliklerini örneklerle anlatmaya çalışacağım.
Aslında Transformationların temel mantığı (ETL) hedef sistemin ihtiyaçlarına göre kaynak verilerini işlememize ve hedef sisteme uygun veriler haline dönüştürmemize yardımcı olmaktır.
Transformation’lar temel olarak ikiye ayrılmaktadır:
1) Active Transformation
Source’dan gelen satır sayısı ile Target’a giden satır sayısı eşit değildir.
2)Passive Transformation
Source’dan gelen satır sayısı ile Target’a giden satır sayısı eşittir.
Aggregator Transformation
Aggregator Transformation, kayıtlar üzerinde kümeleme işlemlerini yapabilmemizi sağlar. Belli başlı Aggregator function’lar aşağıdaki gibidir :
Sum: Toplam, Avg: Ortalama, Count: NULL olmayan kayıt sayısı, First: NULL olmayan ilk kayıt, Last: NULL olmayan son kayıt, Max: En büyük değer, Median: Sayısal serinin orta noktasındaki değer, Min: En küçük değer dönüşümlerini yapabilmemiz için kullandığımız bir ETL transformation’dır.
Group By:
Dip Not: Data doğruluğunun sağlanması için Aggregation’da Select cümleciğinde olan ifadeler dışında ifadeler almamaya dikkat ediyoruz.
Joiner Transformation
Join işlemlerini kolayca kavrayabilmeniz için durumu kümeler mantığıyla anlatacağım.
Informatica Join Type:
- Normal
- Master Outer
- Detail Outer
- Full Outer
Aşağıdaki mantıkla mappingimiz de kullanacağımız join tipini seçebiliriz.
şeklinde join tipini tanımladıktan sonra , hangi alanlar üzerinden joinleyeceğimizi condition kısmında belirliyoruz.
Sorter Transformation
Active ve connected ETL transformation’lardır. Çünkü Order By(sıralama) işlemi de yapsa içerisinde Distinct özelliği bulunmaktadır.
Sorter Transformation order by işlemi için kullanıldığında,
ORDER BY sube, Sirala
Şeklinde ise sizde bu sıraya uyarak önce Sube’ye sonra Sırala alanına göre sıralamalısınız.
Dip Not: Aggregator transformation ve Joiner Transormation’da da Sorted Input özelliği vardır. Bunun özelliği,
- Aynı source’dan gelen tabloların joinlenebilmesi için
- Sıralanmış datalarla daha hızlı işlem yapılabilmesi için
- Joiner’da condition kısmını daha hızlı bulup eşleştirdiği için hızlı çalışır, Aggregator içinde Group by işlemi vs. olacağı için Sorted Input işaretlersek , sıralamayı zaten yaptığı için Aggregator işlemlerini de daha hızlı yapacaktır.
Router Transformation
Router transformation bir input setine farklı filtrelere göre birden fazla output seti verir.
Örneğin,
Rank Transformation
Active ve connected transformationdır. Top 10 ya da top 1 gibi değerleri kolayca bulabilmemizi sağlar.
Sequence Transformation
Eğer bizden ek bir kolon istenirse , mesela Target tabloda gelecek kolonların yanına ek olarak ID kolonu da olsun ve 1 er 1 er artarak devam etsin şeklindeki yapıyı kurmamızı sağlar.
Filter Transformation
- Filter conditiondan TRUE dönen kayıtlar , Filter trans. geçer.
- Filtrelenecek olan kayıtlardan bir önce kurtulup, daha az kayıtla işlemleri tamamlayabilmek için mapping’in başında kullanılmalıdır.
- Filter trans. alternatif olarak Source Fiilter’da kullanılabilir.
- Source Filter datayı kaynakta filterleyeceği için, daha performanslı çalışacaktır.
- Giren kayıt sayısı çıkan kayıt sayısına eşit olmadığı için aktif ETL transformation’dır.
Diğer yazımda sizlere Update Transformation ve Lookup Transformation’dan bahsedeceğim.
Herkese Big Data’lı günler 🙂