Aracılığıyla paylaş


DLT nedir?

Not

DLT, Premium planıgerektirir. Daha fazla bilgi için Databricks hesap ekibinize başvurun.

DLT, güvenilir ve sürdürülebilir ayıklama, dönüştürme ve yükleme (ETL) işlem hatlarının oluşturulmasını basitleştirmek için tasarlanmış bildirim temelli bir çerçevedir. Hangi verilerin alınacağını ve nasıl dönüştürüleceğini belirtirsiniz ve DLT düzenleme, işlem yönetimi, izleme, veri kalitesi uygulama ve hata işleme dahil olmak üzere veri işlem hattınızı yönetmenin önemli yönlerini otomatikleştirir.

DLT, Apache Spark üzerinde oluşturulur, ancak bir dizi ayrı Apache Spark görevi kullanarak veri işlem hatlarınızı tanımlamak yerine, sistemin oluşturması gereken akış tablolarını ve gerçekleştirilmiş görünümleri ve bu akış tablolarını ve gerçekleştirilmiş görünümleri doldurmak ve güncelleştirmek için gereken sorguları tanımlarsınız.

DLT ile ETL işlem hatlarınızı oluşturmanın ve çalıştırmanın avantajları hakkında daha fazla bilgi edinmek için DLT ürün sayfasına bakın.

Apache Spark ile karşılaştırıldığında DLT'nin Avantajları

Apache Spark, ETL de dahil olmak üzere çok yönlü bir açık kaynak birleşik analiz altyapısıdır. DLT, özel ve yaygın ETL görevlerini ele almak için Spark üzerine inşa eder. DLT, gereksinimleriniz aşağıdaki işleme görevlerini içerdiğinde üretim yolunuzu önemli ölçüde hızlandırabilir:

  • Tipik kaynaklardan veri alma.
  • Verileri artımlı olarak dönüştürme.
  • Değişiklik verisi yakalamayı (CDC) gerçekleştirme.

Ancak DLT, bazı yordamsal mantık türlerini uygulamak için uygun değildir. Örneğin, dış tabloya yazma veya dış dosya depolama veya veritabanı tablolarında çalışan bir koşullu ekleme gibi işleme gereksinimleri, DLT veri kümesini tanımlayan kodun içinde gerçekleştirilemez. DLT tarafından desteklenmeyen işlemeyi uygulamak için Databricks, Apache Spark kullanılmasını veya işlem hattını ayrı bir iş görevinde gerçekleştiren bir Databricks İşi'ne dahil etmelerini önerir. DLT işlem hattı görevi içingörevlerine bakın.

Aşağıdaki tabloda DLT ile Apache Spark karşılaştırabilirsiniz:

Yetenek DLT Apache Spark
Veri dönüştürmeleri SQL veya Python kullanarak verileri dönüştürebilirsiniz. SQL, Python, Scala veya R kullanarak verileri dönüştürebilirsiniz.
Artımlı veri işleme Birçok veri dönüşümü otomatik olarak artımlı olarak işlenir. Artımlı olarak işleyebilmeniz için hangi verilerin yeni olduğunu belirlemeniz gerekir.
Orkestrasyon Dönüşümler otomatik olarak doğru sırada düzenlenir. Farklı dönüştürmelerin doğru sırada çalıştırıldığından emin olmanız gerekir.
Paralellik Tüm dönüştürmeler doğru paralellik düzeyiyle çalıştırılır. İlişkisiz dönüştürmeleri paralel olarak çalıştırmak için iş parçacıkları veya harici düzenleyici kullanmanız gerekir.
Hata işleme Hatalar otomatik olarak yeniden deneniyor. Hataların ve yeniden denemelerin nasıl işleneceğini belirlemeniz gerekir.
Izleme Ölçümler ve olaylar otomatik olarak günlüğe kaydedilir. Yürütme veya veri kalitesiyle ilgili ölçümleri toplamak için kod yazmanız gerekir.

DLT'nin Temel Kavramları

Aşağıdaki çizimde bir DLT işlem hattının önemli bileşenleri ve ardından her birinin açıklaması gösterilmektedir.

DLT anahtar kavramlarını.

Akış tablosu

Akış tablosu, bir veya daha fazla akışın yazdığı delta tablosudur. Akış tabloları, giriş verilerini tam olarak bir kez işlediğinden ve büyük hacimlerde yalnızca ekleme verilerini işleyebildiğinden alım için yaygın olarak kullanılır. Akış tabloları, yüksek hacimli veri akışlarının düşük gecikmeli dönüşümü için de yararlıdır.

Gerçekleştirilmiş görünüm

Gerçekleştirilmiş görünüm, gerçekleştirilmiş görünümü tanımlayan sorguyu temel alan önceden derlenmiş kayıtları içeren bir görünümdür. Gerçekleştirilmiş görünümdeki kayıtlar, işlem hattının güncelleştirme zamanlamasına veya tetikleyicilerine göre DLT tarafından otomatik olarak güncel tutulur. Malzemeleşmiş bir görünüm her güncelleştirildiğinde, kullanılabilir en son veriler üzerinde tanımlayıcı sorguyu çalıştırmakla aynı sonuçlara sahip olması garanti edilir. Ancak, bu genellikle sıfırdan tam sonucu yeniden derlemeden, artımlı yenilemekullanılarak gerçekleştirilir. Gerçekleştirilmiş görünümler genellikle dönüşümler için kullanılır.

Görünümler

Azure Databricks'te tüm görünümleri sorgulandığında kaynak veri kümelerinden elde edilen sonuçları hesaplar ve kullanılabilir olduğunda önbelleğe alma iyileştirmelerinden yararlanırlar. DLT katalogda görünüm yayımlamaz, bu nedenle görünümlere yalnızca tanımlandığı işlem hattında başvurulabilir. Görünümler, son kullanıcılara veya sistemlere sunulmaması gereken ara sorgular olarak kullanışlıdır. Databricks, veri kalitesi kısıtlamaları uygulamak veya birden çok aşağı akış sorgusuna yol gösteren veri kümelerini dönüştürmek ve zenginleştirmek için görünümlerin kullanılmasını önerir.

İşlem hattı

İşlem hattı, birlikte güncelleştirilen akış tabloları ve malzemeleşmiş görünümlerden oluşan bir koleksiyondur. Bu akış tabloları ve gerçekleştirilmiş görünümler Python veya SQL kaynak dosyalarında bildirilir. İşlem hattı, işlem hattı çalıştırıldığında akış tablolarını ve gerçekleştirilmiş görünümleri güncelleştirmek için kullanılan işlemi tanımlayan bir yapılandırma da içerir. Terraform şablonunun bulut hesabınızdaki altyapıyı tanımlamasına benzer şekilde, DLT işlem hattı da veri işlemeniz için veri kümelerini ve dönüşümleri tanımlar.

DLT veri kümeleri verileri nasıl işler?

Aşağıdaki tabloda maddileşmiş görünümlerin, akış tablolarının ve görünümlerin verileri nasıl işlediği açıklanmaktadır.

Veri kümesi türü Kayıtlar tanımlı sorgular aracılığıyla nasıl işlenir?
Akış tablosu Her kayıt tam olarak bir kez işlenir. Bu durum, yalnızca ekleme yapılabilen bir kaynak olduğunu varsayar.
Gerçekleştirilmiş görünüm Kayıtlar, geçerli veri durumunun doğru sonuçlarını döndürmek için gerektiği şekilde işlenir. Gerçekleştirilmiş görünümler, dönüşümler, toplamalar veya yavaş sorgular ile sıkça kullanılan hesaplamaların önceden hesaplanması gibi veri işleme görevleri için kullanılmalıdır.
Görünüm Görünüm sorgulandığında her seferinde kayıtlar işlenir. Genel veri kümelerinde yayımlanmaması gereken ara dönüştürmeler ve veri kalitesi denetimleri için görünümleri kullanın.

DLT'de ilk veri kümelerinizi bildirme

DLT, Python ve SQL için yeni söz dizimi sağlar. İşlem hattı söz diziminin temellerini öğrenmek için bkz Python ile işlem hattı kodu geliştirme ve SQL ile işlem hattı kodu geliştirme.

Not

DLT, veri kümesi tanımlarını güncelleştirme işlemeden ayırır ve DLT not defterleri etkileşimli yürütme için tasarlanmamıştır.

DLT işlem hatlarını nasıl yapılandırabilirsiniz?

DLT işlem hatlarının ayarları iki geniş kategoriye ayrılır:

  1. Veri kümelerini bildirmek için DLT söz dizimini kullanan bir not defteri veya dosya koleksiyonunu tanımlayan yapılandırmalar (kaynak koduolarak bilinir).
  2. İşlem hattı altyapısını denetleen yapılandırmalar, bağımlılık yönetimi, güncelleştirmelerin nasıl işlendiği ve tabloların çalışma alanına nasıl kaydedildiği.

Yapılandırmaların çoğu isteğe bağlıdır, ancak bazıları özellikle üretim işlem hatlarını yapılandırırken dikkatli olunmalarını gerektirir. Bunlar şunları içerir:

  • Verileri işlem hattı dışında kullanılabilir hale getirmek için, Hive meta veri deposunda yayımlamak üzere hedef şema veya Unity Kataloğu'nda yayımlamak amacıyla hedef katalog ve hedef şema bildirmeniz gerekir.
  • Veri erişim izinleri, yürütme için kullanılan küme aracılığıyla yapılandırılır. Kümenizin veri kaynakları için yapılandırılmış uygun izinlere sahip olduğundan ve hedef depolama konumunun belirtildiyseolduğundan emin olun.

İşlem hatları için kaynak kodu yazmak üzere Python ve SQL kullanma hakkında ayrıntılı bilgi için bkz. DLT SQL dil başvurusu ve DLT Python dil başvurusu.

İşlem hattı ayarları ve yapılandırmaları hakkında daha fazla bilgi için bkz. DLT işlem hattı yapılandırma.

İlk işlem hattınızı dağıtın ve güncellemeleri tetikleyin

DLT ile veri işlemeden önce bir işlem hattı yapılandırmanız gerekir. İşlem hattı yapılandırıldıktan sonra işlem hattınızdaki her veri kümesinin sonuçlarını hesaplamak için bir güncelleştirme tetikleyebilirsiniz. DLT işlem hatlarını kullanmaya başlamak için bkz. Öğretici:ilk DLT işlem hattınızı çalıştırma.

İşlem hattı güncelleştirmesi nedir?

İşlem hatları, birgüncelleştirme başlattığınızda altyapı dağıtır ve veri durumunu yeniden derler. Bir güncelleştirme aşağıdakileri yapar:

  • Doğru yapılandırmaya sahip bir küme başlatır.
  • Tanımlanan tüm tabloları ve görünümleri bulur ve geçersiz sütun adları, eksik bağımlılıklar ve söz dizimi hataları gibi analiz hatalarını denetler.
  • Kullanılabilir en son verilerle tabloları ve görünümleri oluşturur veya güncelleştirir.

İşlem hatları, kullanım örneğinizin maliyet ve gecikme süresi gereksinimlerine bağlı olarak sürekli ya da belirli bir plana göre çalıştırılabilir. Bkz. DLT işlem hattında güncelleştirme çalıştırma.

DLT ile veri alma

DLT, Azure Databricks'te kullanılabilen tüm veri kaynaklarını destekler.

Databricks, çoğu veri akışı senaryosu için akış tablolarının kullanılmasını önerir. Databricks, bulut nesne depolama alanına gelen dosyalar için Otomatik Yükleyici'yi önerir. Çoğu mesaj otobüsünden DLT ile doğrudan veri alabilirsiniz.

Bulut depolamaya erişimi yapılandırma hakkında daha fazla bilgi için bkz. Bulut depolama yapılandırması.

Otomatik Yükleyici tarafından desteklenmeyen biçimler için Python veya SQL kullanarak Apache Spark tarafından desteklenen herhangi bir biçimi sorgulayabilirsiniz. Bkz. DLT ile veri yükleme.

Veri kalitesini izleme ve uygulama

Veri kümesinin içeriğinde veri kalitesi denetimleri belirtmek için beklentileri kullanabilirsiniz. Geleneksel bir veritabanında kısıtlamadan başarısız olan kayıtların eklenmesini engelleyen bir CHECK kısıtlamasının aksine, veri kalitesi gereksinimlerinde başarısız olan veriler işlenirken beklentiler esneklik sağlar. Bu esneklik, karmaşık olmasını beklediğiniz verileri ve katı kalite gereksinimlerini karşılaması gereken verileri işlemenizi ve depolamanızı sağlar. bkz. İşlem hattı beklentileriyle veri kalitesini yönetme.

DLT, Delta Lake'in işlevselliğini genişletir. DLT tarafından oluşturulan ve yönetilen tablolar Delta tabloları olduğundan, Delta Lake tarafından sağlanan aynı garantilere ve özelliklere sahiptir. Bkz. Delta Lake nedir?.

DLT, Delta Lake'te ayarlanabilen birçok tablo özelliğine ek olarak çeşitli tablo özellikleri ekler. Bkz. DLT özellikleri başvuru kaynağı ve Delta tablo özellikleri başvuru kaynağı.

Tablolar DLT tarafından nasıl oluşturulur ve yönetilir?

Azure Databricks, DLT ile oluşturulan tabloları otomatik olarak yönetir ve bir tablonun geçerli durumunu doğru hesaplamak için güncelleştirmelerin nasıl işlenmesi gerektiğini belirler ve bir dizi bakım ve iyileştirme görevi gerçekleştirir.

Çoğu işlem için DLT'nin hedef tabloya yapılan tüm güncelleştirmeleri, eklemeleri ve silmeleri işlemesine izin vermelisiniz. Ayrıntılar ve sınırlamalar için bakınız el ile silmeleri veya güncellemeleri tutma.

DLT tarafından gerçekleştirilen Bakım görevleri

DLT, bir tablonun güncelleştirilmesini izleyen 24 saat içinde bakım görevleri gerçekleştirir. Bakım, tabloların eski sürümlerini kaldırarak sorgu performansını artırabilir ve maliyeti azaltabilir. Varsayılan olarak, sistem tam bir OPTIMIZE işlemini gerçekleştirir ve ardından VACUUM'i uygular. Tablonun tablo özellikleri'te pipelines.autoOptimize.managed = false'i ayarlayarak OPTIMIZE'ı devre dışı bırakabilirsiniz. Bakım görevleri, yalnızca son 24 saat içinde bir işlem hattı güncellemesi çalıştırılmışsa gerçekleştirilir.

Delta Live Tables artık DLT oldu

Daha önce Delta Live Tables olarak bilinen ürün artık DLT'dir.

Sınırlama

Sınırlamaların listesi için bkz. DLT Sınırlamaları.

Unity Kataloğu ile DLT kullanmaya özgü gereksinimlerin ve sınırlamaların listesi için bkz. Unity Kataloğu'nu DLT işlem hatlarınızla kullanma

Ek kaynaklar