Azure Data Factory

Ayşegül Yiğit
BilgeAdam Teknoloji
4 min readDec 19, 2022

Verilerin toplu hareketini tetikleme veya düzenli bir program oluşturma ihtiyacı, çoğu analitik çözüm için bir gerekliliktir. Azure Data Factory (ADF), böyle bir gereksinimi karşılamak için kullanılabilecek en iyi hizmetlerden biri haline geldi. Aynı zamanda verilerin çeşitli veri depoları ve bilgi işlem kaynakları arasında taşınmasını ve dönüştürülmesini düzenleyen bulut tabanlı bir veri tümleştirme hizmeti sağlıyor.

Özetle, Azure Data Factory veri hareketini düzenlemek ve verileri ölçekte dönüştürmek için veri odaklı iş akışları oluşturmanıza olanak tanıyan bulut tabanlı ETL ve veri tümleştirme hizmetidir.

Bu seride Abdullah Kise’nin eğitim verdiği “DP-203T00: Data Engineering on Microsoft Azure” başlıklı kurs içeriğini belirli konular nezdinde takip edeceğiz. Ayrıca Abdullah Kise hocama aktarmış olduğu değerli bilgilerinden dolayı teşekkür ederim.

Azure Data Factory’nin Yetkinlikleri

1. Orkestrasyon: Diğer servislere komutlar verebilme yetkinliği.

ADF için benzetme kullanmak gerekirse bir senfoni orkestrasını düşünün. Orkestranın merkez üyesi şeftir. Orkestra şefi enstrümanları çalmaz, senfoni üyelerini icra ettikleri tüm müzik parçası boyunca yönlendirir. Müzisyenler, senfoninin çeşitli aşamalarında belirli sesleri üretmek için kendi becerilerini kullanırlar, bu nedenle müziğin yalnızca belirli kısımlarını öğrenebilirler. Orkestra şefi tüm müzik parçasını yönetir ve bu nedenle icra edilen tüm partisyonun farkındadır. Ayrıca müzisyenlere bir müzik parçasının nasıl çalınması gerektiğine dair talimatlar veren özel kol hareketleri kullanır.

ADF, verileri almak ve dönüştürmek için yerel işlevselliğe sahipken benzer bir yaklaşım kullanabilir, bazen başka bir hizmetevbir dönüştürme sorgusu yürütmek için bir Databricks gibi, kendi adına gereken fiili işi gerçekleştirmesi için talimat verir. Dolayısıyla bu durumda işi yapan ADF değil Databricks olacaktır. ADF yalnızca sorgunun yürütülmesini yönetir ve ardından verileri bir sonraki adıma veya hedefe taşımak için işlem hatları sağlar.

1. ETL: Veri entegrasyonu tanımlama yetkinliği.

Veri entegrasyonu öncelikle bir veya daha fazla kaynaktan veri toplanmasını içerir. İsteğe bağlı olarak, verilerin temizlenebileceği ve dönüştürülebileceği veya belki de ek verilerle zenginleştirilip hazırlanabileceği bir işlemi içerir. Son olarak, birleştirilen veriler gerçekleştirmek istediğiniz analiz türünü işleyen bir veri platformu hizmetinde depolanır. Bu işlem, Azure Data Factory tarafından Ayıkla, Dönüştür ve Yükle (ETL) olarak bilinen bir modelde otomatikleştirilebilir.

2. Kurallara göre işleri tekrarlama yetkinliği:

While, for, if gibi döngüler oluşturup logic çalıştırabilir.

3. Verileri kopyalama yetkinliği:

Dataset tanımlamak gerekir. Örneğin; bir kaynaktan bir hedefe veri kopyalamak istendiğinde dataseti formatlamak ve düzenlemek için kullanılır.

Azure Data Factory Bileşenleri

· Pipeline(iş akışları) oluşturabilir.

· Aktiviteler ile alert ve schedule kurulabilir.

· Linkedin Service ile connection bilgileri tanımlanabilir.

Control Flow: SSIS’de sıkça kullandığımız Control Flow seviyesi ile aynı işlevi görür. Bir dizide zincirleme etkinlikleri Control Flow seviyesinde parametreleri tanımlamayı veya bağımsız değişkenleri iletmeyi içeren etkinliklerin orkestrasyonudur.

Parameters: Parametreler Control Flow seviyesinde tanımlanır. Tanımlanan parametreler için bağımsız değişkenler, yürütme sırasında bir tetikleyici tarafından oluşturulan çalıştırma bağlamından veya manuel olarak yürütülen bir ardışık düzenden iletilir. Control Flow’un içindeki etkinlikler parametre değerlerine göre çalışır.

Integration Runtime: Etkinlik ile bağlantılı hizmetler nesneleri arasında köprü kurmasını sağlayan bir tümleştirme çalışma zamanına sahiptir.

3 adet Integration Runtime vardır:

1. Azure: Kullanılan aktiviteler buluttan buluta ise Azure IR kullanılabilir.

2. Self Hosted: Kullanılan aktiviteler lokalden buluta ise Self Hosted IR kullanılabilir. Gateway kurulumu ile lokalinizi key aracılığıyla tanımlayabiliyor.

3. SSIS IR: Oluşturulan SSIS paketlerini buluta taşıyıp, arka taraftaki makinede çalıştırabiliyor.

Azure Data Factory’de Wizard ile Kopyalama İşlemi (Web’den Diske)

Wizard

Arayüz üzerinden copy data tool ile kopyalama işlemi yapacağız.

Source Data Store

Verileri web üzerinden diske aktacağımız için kaynağımızı HTTP olarak belirledik.

New Connection

Base url kısmına web aracılığıyla çekeceğimiz veriyi kopyalayıp yapıştırıyoruz.

Link: https://archive.ics.uci.edu/ml/machine-learning-databases/auto-mpg/auto-mpg.data

Destination

Diskimizi Azure Data Lake Storage Gen2’de oluşturduğumuz için seçimi tamamlıyoruz.

Source Connection Bilgileri

Connection bilgilerini tanımlıyoruz.

Destination Data Source

Hedef Data Setin nerede oluşturulacağını tanımlıyoruz.

Deployment

Modelin deploy işlemi tamamlandı.

Pipeline Sekmesi

Yukarıda wizard ile oluşturulan modeli pipeline içerisinde görebiliriz.

Trigger

Trigger butonuna tıklayarak pipeline çalıştırıyoruz.

Hedefteki diskimizin içindeki containera webteki verilerimizin geldiğini görebilirsiniz.

--

--