Azure Data Factory Şablonları

Ataberk Teknekaya
PEAKUP Tech News
Published in
3 min readNov 13, 2023

Veri ambarı projelerinde ETL süreçlerini standartlaştırmak geliştirme sürelerini önemli ölçüde azaltır. Azure Data Factory’de (ADF) ETL standardizasyonu için şablon bileşenlerini kullanabiliriz.

Şablonlar, ADF’deki pipeline yapısını tanımlayan yeniden kullanılabilir ve önceden tanımlanmış JSON yapılarıdır. ADF’in sunduğu şablonları kullanmak için Author ekranında pipelines’a sağ tıklayıp Pipeline from template butonuna tıklayarak çeşitli işler için tasarlanmış pipeline’ları şablon galerisinde görebilirsiniz.

Herhangi bir şablona tıkladığınızda sol sekmede ilgili pipeline için açıklama, dokümantasyon linki, servis tipi ve girdileriyle karşılaşırsınız. Sağ sekmede ise pipeline’ın akış çizelgesi yer alır. Şablonu kullanmak için girdiler için ilgili ADF bileşenlerini seçerek Use this template butonuna tıklayarak pipeline’ı oluşturabilirsiniz.

Seçilen girdilere göre pipeline’nın default hali oluşmuş olur. Sonrasında istediğiniz şekilde modifiye edebilirsiniz.

Özel Şablon Oluşturma

Şablon galerisinin dışında önceden tasarladığınız bir pipeline’dan özel şablon oluşturabilirsiniz. Özel şablonlar bir code repo’suna kaydedilir. ADF’in sol üst köşesinde Set up code repository butonuna tıklayarak ADF’i bir repoya bağlayabilirsiniz. Bağladıktan sonra Author ekranında Templates sekmesini görebileceksiniz.

Demo: Truncate — Insert ETL Metodunun Şablonunu Oluşturma

Truncate-insert metodu veri ambarlarında genellikle büyüklüğü az olan tablolarda kullanılır. Bu metodu parametrik olarak çalıştırabilecek bir pipeline oluşturalım. Öncelikle veri ambarındaki tabloları tanımlayan bir tablo oluşturalım. Tabloların id’lerini, şemalarını ve adlarını ekleyelim.

CREATE TABLE [dwh].[table_definition](
[table_id] [int] IDENTITY(1,1),
[schema_name] [nvarchar](3),
[table_name] [nvarchar](50)
)

Sonrasında parametre olarak table_id alan ve o id’ye sahip tabloyu truncate eden stored prosedürü yazalım.

CREATE PROC [dwh].[sp_truncate_table]

@p_table_id int

AS
DECLARE @truncate_string nvarchar(100)

BEGIN

SET @truncate_string =
'TRUNCATE TABLE ' +
(SELECT schema_name + '.' + table_name FROM dwh.table_definition WHERE table_id=@p_table_id)

EXEC (@truncate_string)
END

Truncate-Insert pipeline’ını oluşturmak için stored procedure ve copy data aktiviteleri ekleyelim ve oluşturduğumuz stored prosedür için variable ve parameter tanımlayalım. Şablonu kaydetmek için Save as template butonuna tıklayalım.

Açılan sekmede şablonu açıklayan alanları ekleyelim ve şablonu kaydedelim.

Artık Template sekmesinden şablonu seçerek ve girdileri ekleyerek şablonu truncate-insert metodunu kullanacağımız tüm tablolar için kullanabiliriz.

Referanslar

--

--

Ataberk Teknekaya
PEAKUP Tech News

As a BI consultant with a passion for Azure Data Platform, SQL and Power BI, I write about real-life scenarios to help others in the field.