Merhabalar arkadaşlar, bu yazımda ODI 12C de join işleminin nasıl yapılacağından ve bununla beraber bir kaç kompenentin özelliklerinden bahsedeceğim.
Öncelikle önceki yazımda değinmediğim mapping in ne olduğundan bahsedeyim. Mapping bizim ETL yaptığımız kısımdır. Employees tablosu ile Departments tablolarını joinleyerek kaynakta oluşturduğumuz bir tabloya basalım ve sonuçları gözlemleyelim.
Şimdi sanal makinemizde bulunan SQL Developer ile senaryomuza uygun bir tablo create edelim.

Yukarıdaki gibi hedef tablomuzun sadece metedatasını oluşturmuş olduk. Yani oluşturduğumuz tabloda herhangi bir veri yok aşağıda görüldüğü gibi, ETL sürecinden sonra datalar yüklenmiş olacak. Yine ODI de mapping yaparken bu kolonları kullanacağız.
Şimdi ETL sürecine başlayalım. Önce yeni oluşturduğumuz tabloyu ODI ya reverse ediyoruz daha sonra deneme_joın adında yeni bir mapping oluşturuyoruz. ODI de tabloları mapping içerisinde kullanmak için sürükle bırak yapıyoruz. Biz employees tablosu ile departments tablosunu joinleyip deneme tablosuna basacaktık. O nedenle önce tablolarımızı çalışma alanına alıyoruz ve aşağıda ki gibi düzenliyoruz;

Tablolarımızı joinlemek için sağ tarafta bulunan JOIN kompenentini kullanacağız.

Kompenenti çağırdıktan sonra kaynak tabloların bağlantısını yapıyoruz ve bağlantıyı yaptıktan sonra JOIN kompenentinin üzerine tıklıyoruz. Burada, yukarıda da görüldüğü gibi condition adımına join şartımızı giriyoruz. Daha sonra joinden hedef tablomuza bir hat çekiyoruz ve aşağıdaki gibi düzenliyoruz;

Burada bilmemiz gereken connection path adımında By Name olarak seçersek kaynaktan gelen kolonlar ile hedefteki kolonların isimleri aynı olanları eşleştirecek. By position olarak seçersek de kolonların isimlerine bakmadan pozisyonlarına göre targeta yazacak. Yukarıdaki gibi yaptıktan sonra çalışma alanımızın altında bulunan phsical sekmesinde düzenlemeler yapacağız. Bunun için ayrıca ODI objelerinden Knowledge Module leri kullanmamız gerekiyor. Bu KM lerin nasıl içeri import edildiğini bu yazımda anlatmıştım. (Eğer KM leri daha önce import etmediyseniz şu an yapacağımız adımda bu KM leri göremeyeceksiniz. KM leri import ettikten sonra JOIN işini kaydetmeden kapatıp baştan yapmanız gerekecek). Şimdi physical sekmesinde yaptığımız işe uygun KM yi seçelim ve konfigüre edelim;

Yukarıda görüldüğü gibi KM mizi IKM Oracle Control Append olarak ayarladık ve option adımında sadece FLOW_CONTROL ü false a çektik. Kaydedip çalıştırıyoruz ve operator sekmesinden kontrollerini sağlıyoruz;

Görüldüğü gibi tüm adımlar sorunsuz çalışmış. Şimdi de SQL Developer dan datalarımız gelmiş mi bakalım;

Görüldüğü gibi datalarımız deneme tablosuna geldi. Burada mapping yaparken join içerisinde ekstra filtrelerde koyabilirdik
…… and salary > 5000 gibi. Bakıldığı zaman bu kadar işlemi DB tarafında da yapabilirdik neden bu zahmete girelim diye düşünebilirsiniz. Fakat zaten bu tür işlemleri ODI üzerinden yapmıyoruz bu örnek sadece ODI nin çalışma mantığının anlaşılması için yapıldı. Gittikçe daha zor örneklerde yapacağız.
Bu yazımda anlatacaklarım bu kadardı, umarım faydalı olmuştur sonraki yazımlarımda görüşmek üzere hoşça kalın 🙂