Ayıklama, dönüştürme ve yükleme (ETL)

Azure Synapse Analytics
Azure Data Factory

Kuruluşların karşılaştığı yaygın bir sorun, birden çok kaynaktan birden çok biçimde veri toplama işlemidir. Ardından bunu bir veya daha fazla veri deposuna taşımanız gerekir. Hedef, kaynakla aynı veri deposu türü olmayabilir. Genellikle biçim farklıdır veya verilerin son hedefine yüklenmeden önce şekillendirilmesi veya temizlenmesi gerekir.

Bu zorlukların giderilmesine yardımcı olmak için yıllar içinde çeşitli araçlar, hizmetler ve süreçler geliştirilmiştir. Kullanılan işlem ne olursa olsun, işi koordine etmek ve veri işlem hattı içinde bir miktar veri dönüştürmesi uygulamak yaygın bir ihtiyaçtır. Aşağıdaki bölümlerde bu görevleri gerçekleştirmek için kullanılan yaygın yöntemler vurgulanmıştır.

Ayıklama, dönüştürme ve yükleme (ETL) işlemi

Ayıklama, dönüştürme ve yükleme (ETL), çeşitli kaynaklardan veri toplamak için kullanılan bir veri işlem hattıdır. Ardından verileri iş kurallarına göre dönüştürür ve verileri bir hedef veri deposuna yükler. ETL'deki dönüştürme işi özel bir altyapıda gerçekleşir ve genellikle verileri dönüştürme ve sonunda hedefine yüklenme aşamasında geçici olarak tutmak için hazırlama tablolarının kullanılmasını içerir.

Diagram of the extract-transform-load (ETL) process.

Gerçekleşen veri dönüşümü genellikle filtreleme, sıralama, toplama, verileri birleştirme, verileri temizleme, yinelenen verileri kaldırma ve doğrulama gibi çeşitli işlemleri içerir.

Genellikle, zaman kazanmak için üç ETL aşaması paralel olarak çalıştırılır. Örneğin, veriler ayıklanırken, bir dönüştürme işlemi zaten alınan veriler üzerinde çalışıyor ve yükleme için hazırlanıyor olabilir ve bir yükleme işlemi tüm ayıklama işleminin tamamlanmasını beklemek yerine hazırlanan veriler üzerinde çalışmaya başlayabilir.

İlgili Azure hizmeti:

Diğer araçlar:

Ayıkla, yükle ve dönüştür (ELT)

Ayıklama, yükleme ve dönüştürme (ELT), ETL'den yalnızca dönüşümün gerçekleştiği yerde farklılık gösterir. ELT işlem hattında dönüştürme, hedef veri deposunda gerçekleşir. Verileri dönüştürmek için ayrı bir dönüştürme altyapısı kullanmak yerine hedef veri deposunun işleme özellikleri kullanılır. Bu işlem hattından dönüştürme altyapısını kaldırarak mimariyi basitleştirir. Bu yaklaşımın bir diğer avantajı da hedef veri deposunun ölçeklendirilmesinin ELT işlem hattı performansını da ölçeklendirmesidir. Ancak ELT yalnızca hedef sistem verileri verimli bir şekilde dönüştürecek kadar güçlü olduğunda iyi çalışır.

Diagram of the extract-load-transform (ELT) process.

ELT için tipik kullanım örnekleri büyük veri bölgesi içinde yer alır. Örneğin, hadoop dağıtılmış dosya sistemi, Azure blob deposu veya Azure Data Lake 2. nesil (veya bir bileşim) gibi ölçeklenebilir depolamadaki düz dosyalara tüm kaynak verileri ayıklayarak işe başlayabilirsiniz. Spark, Hive veya Polybase gibi teknolojiler daha sonra kaynak verileri sorgulamak için kullanılabilir. ELT ile ilgili önemli nokta, dönüştürmeyi gerçekleştirmek için kullanılan veri deposunun verilerin nihai olarak kullanıldığı veri deposuyla aynı olmasıdır. Bu veri deposu, verileri kendi özel depolama alanına yüklemek yerine doğrudan ölçeklenebilir depolama alanından okur. Bu yaklaşım, ETL'de bulunan veri kopyalama adımını atlar ve bu genellikle büyük veri kümeleri için zaman alan bir işlem olabilir.

Uygulamada hedef veri deposu, Hadoop kümesi (Hive veya Spark kullanarak) veya Azure Synapse Analytics'teki sql ayrılmış havuzları kullanan bir veri ambarıdır. Genel olarak, bir şema sorgu zamanında düz dosya verilerinin üzerine alınır ve tablo olarak depolanır ve verilerin veri deposundaki diğer tablolar gibi sorgulanması sağlanır. Veriler veri deposu tarafından yönetilen depolama alanında değil, Azure data lake store veya Azure blob depolama gibi bazı dış ölçeklenebilir depolamalarda bulunduğundan bunlar dış tablolar olarak adlandırılır.

Veri deposu yalnızca verilerin şemasını yönetir ve okumada şemayı uygular. Örneğin, Hive kullanan bir Hadoop kümesi, veri kaynağının HDFS'deki bir dosya kümesinin etkili bir yolu olduğu bir Hive tablosunu açıklar. Azure Synapse'te PolyBase de aynı sonucu elde edebilir ve veritabanının kendisine harici olarak depolanan verilere karşı bir tablo oluşturur. Kaynak veriler yüklendikten sonra, dış tablolarda bulunan veriler veri deposunun özellikleri kullanılarak işlenebilir. Büyük veri senaryolarında bu, veri deposunun verileri daha küçük parçalara bölen ve öbeklerin işlenmesini birden çok düğüme paralel olarak dağıtan yüksek düzeyde paralel işleme (MPP) özelliğine sahip olması gerektiği anlamına gelir.

ELT işlem hattının son aşaması genellikle kaynak verileri desteklenmesi gereken sorgu türleri için daha verimli olan son biçime dönüştürmektir. Örneğin, veriler bölümlenebilir. Ayrıca ELT, satır odaklı verileri sütunlu bir şekilde depolayan ve iyileştirilmiş dizin oluşturma sağlayan Parquet gibi iyileştirilmiş depolama biçimlerini kullanabilir.

İlgili Azure hizmeti:

Diğer araçlar:

Veri akışı ve denetim akışı

Veri işlem hatları bağlamında, denetim akışı bir görev kümesinin düzenli olarak işlenmesini sağlar. Bu görevlerin doğru işleme sırasını zorlamak için öncelik kısıtlamaları kullanılır. Aşağıdaki görüntüde gösterildiği gibi, bu kısıtlamaları bir iş akışı diyagramında bağlayıcı olarak düşünebilirsiniz. Her görevin başarı, başarısızlık veya tamamlama gibi bir sonucu vardır. Sonraki görevler, öncülü bu sonuçlardan biriyle tamamlanana kadar işlemeyi başlatmaz.

Denetim akışları, veri akışlarını görev olarak yürütür. Veri akışı görevinde veriler bir kaynaktan ayıklanır, dönüştürülür veya bir veri deposuna yüklenir. Bir veri akışı görevinin çıkışı, bir sonraki veri akışı görevinin girişi olabilir ve veri akışları paralel olarak çalıştırılabilir. Denetim akışlarından farklı olarak, veri akışındaki görevler arasına kısıtlamalar ekleyemezsiniz. Ancak, verileri her görev tarafından işlenirken gözlemlemek için bir veri görüntüleyici ekleyebilirsiniz.

Diagram of a data flow being executed as a task within a control flow.

Yukarıdaki diyagramda, denetim akışında bir veri akışı görevi olan birkaç görev vardır. Görevlerden biri bir kapsayıcı içinde iç içe yerleştirilmiştir. Kapsayıcılar, bir çalışma birimi sağlayarak görevlere yapı sağlamak için kullanılabilir. Bu tür örneklerden biri, bir klasördeki dosyalar veya veritabanı deyimleri gibi bir koleksiyondaki öğeleri yinelemektir.

İlgili Azure hizmeti:

Diğer araçlar:

Teknoloji seçimleri

Katkıda Bulunanlar

Bu makale Microsoft tarafından yönetilir. Başlangıçta aşağıdaki katkıda bulunanlar tarafından yazılmıştır.

Asıl yazar:

Sonraki adımlar

Aşağıdaki başvuru mimarileri Azure'da uçtan uca ELT işlem hatlarını gösterir: