Delta Lake nedir?
Delta Lake, Databricks'teki bir göl evindeki tablolar için temel sağlayan iyileştirilmiş depolama katmanıdır. Delta Lake, ACID işlemleri ve ölçeklenebilir meta veri işleme için parquet veri dosyalarını dosya tabanlı işlem günlüğüyle genişleten açık kaynak bir yazılımdır. Delta Lake, Apache Spark API'leriyle tam olarak uyumludur ve Yapılandırılmış Akış ile sıkı tümleştirme için geliştirilmiştir. Bu sayede hem toplu işlem hem de akış işlemleri için tek bir veri kopyasını kolayca kullanabilir ve büyük ölçekte artımlı işleme sağlarsınız.
Delta Lake, Azure Databricks'te tüm işlemler için varsayılan biçimdir. Aksi belirtilmediği sürece, Azure Databricks'te tüm tablolar Delta tablolarıdır. Databricks başlangıçta Delta Lake protokolunu geliştirdi ve açık kaynak projesine etkin bir şekilde katkıda bulunmaya devam ediyor. Databricks platformundaki iyileştirmelerin ve ürünlerin çoğu Apache Spark ve Delta Lake tarafından sağlanan garantileri temel alır. Azure Databricks'te iyileştirmeler hakkında bilgi için bkz . Azure Databricks'te iyileştirme önerileri.
Delta Lake SQL komutları hakkında başvuru bilgileri için Delta Lake deyimleri'ne bkz.
Delta Lake işlem günlüğü, herhangi bir sistem tarafından günlüğü okumak için kullanılabilen iyi tanımlanmış bir açık protokole sahiptir. Bkz. Delta İşlem Günlüğü Protokolü.
Delta Lake'i kullanmaya başlama
Azure Databricks'teki tüm tablolar varsayılan olarak Delta tablolarıdır. İster Apache Spark DataFrames ister SQL kullanıyor olun, delta lake'in tüm avantajlarından yalnızca verilerinizi varsayılan ayarlarla lakehouse'a kaydederek elde edersiniz.
Tablo oluşturma, verileri okuma, yazma ve güncelleştirme gibi temel Delta Lake işlemlerine örnekler için bkz . Öğretici: Delta Lake.
Databricks, Delta Lake için en iyi deneyimlere yönelik birçok öneriye sahiptir.
Delta Lake'e veri dönüştürme ve yükleme
Azure Databricks, lakehouse'unuza veri yüklemeyi hızlandırmak ve basitleştirmek için bir dizi ürün sağlar.
DLT:
Parquet veya Iceberg verilerini Delta Lake'e artımlı olarak dönüştürme
Parquet veya Iceberg verilerini Delta Lake'e tek seferlik dönüştürme
Veri alma seçeneklerinin tam listesi için bkz. Azure Databricks lakehouse'a veri alma.
Delta Lake tablolarını güncelleştirme ve değiştirme
Delta Lake ile atomik işlemler, verileri ve meta verileri güncelleştirmek için birçok seçenek sağlar. Databricks, tablolarınızın bozulmasını önlemek için Delta Lake dosya dizinlerindeki veri ve işlem günlüğü dosyalarıyla doğrudan etkileşime geçmekten kaçınmanızı önerir.
- Delta Lake, birleştirme işlemini kullanarak upsert'leri destekler. Birleştirme kullanarak bir Delta Lake tablosuna upsert ekleme konusuna bakın.
- Delta Lake, filtrelere ve bölümlere göre seçmeli üzerine yazma işlemleri için çok sayıda seçenek sunar. Bkz Delta Lake ile verilerin üzerine seçmeli olarak yazma.
- Verileri yeniden yazmadan tablo şemanızı el ile veya otomatik olarak güncelleştirebilirsiniz. Bkz . Delta Lake tablo şemasını güncelleştirme.
- Verileri yeniden yazmadan sütunları yeniden adlandırmak veya silmek için sütun eşlemesini etkinleştirin. Bkz . Delta Lake sütun eşlemesi ile sütunları yeniden adlandırma ve bırakma.
Delta Lake'te artımlı ve streaming iş yükleri
Delta Lake, Azure Databricks'te Yapılandırılmış Akış için iyileştirilmiştir. DLT basitleştirilmiş altyapı dağıtımı, gelişmiş ölçeklendirme ve yönetilen veri bağımlılıklarıyla yerel özellikleri genişletir.
- Delta tablo akışı okuma ve yazma işlemleri
- Azure Databricks'te Delta Lake değişiklik veri akışını kullanma
Tablonun önceki sürümlerini sorgulama
Delta tablosuna yapılan her yazma işlemi yeni bir tablo sürümü oluşturur. Tablonuzda yapılan değişiklikleri gözden geçirmek ve önceki tablo sürümlerini sorgulamak için işlem günlüğünü kullanabilirsiniz. Bakınız Delta Lake tablo geçmişiyle çalışma.
Delta Lake şema geliştirmeleri
Delta Lake, bir tabloya yazılan tüm verilerin ayarladığınız gereksinimlerle eşleştiğinden emin olarak şemayı yazma işleminde doğrular.
- Şema uygulama
- Azure Databricks'te kısıtlamalar
- Delta Lake tarafından oluşturulan sütunlar
- Delta Lake tablolarını özel meta verilerle zenginleştirme
Delta Lake ile dosyaları yönetme ve verileri dizine ekleme
Azure Databricks, Delta Lake için veri dosyalarının boyutunu ve geçmişte tutulan tablo sürümlerinin sayısını etkileyen birçok varsayılan parametre ayarlar. Delta Lake, herhangi bir sorguyu gerçekleştirmek için taranan dosya sayısını azaltmak için meta veri ayrıştırma ve fiziksel veri düzeninin bir bileşimini kullanır.
- Delta tabloları için sıvı kümeleme kullanma
- Delta Lake için veri atlama
- Veri dosyası düzenini iyileştirme
- Kullanılmayan veri dosyalarını vakumla kaldırma
- Delta Lake'i veri dosyası boyutunu denetlemek için yapılandırma
Delta Lake ayarlarını yapılandırma ve gözden geçirme
Azure Databricks, Delta Lake tablolarının tüm verilerini ve meta verilerini bulut nesne depolama alanında depolar. Birçok yapılandırma, tablo düzeyinde veya Spark oturumu içinde ayarlanabilir. Hangi seçeneklerin yapılandırıldığını keşfetmek için Delta tablosunun ayrıntılarını gözden geçirebilirsiniz.
- Delta Lake tablosunun ayrıntılarını 'describe detail' komutuyla gözden geçirin
- Delta tablosu özellikleri referansı
Delta Lake ve DLT kullanan veri işlem hatları
Azure Databricks, veriler temizlendikten ve zenginleştirildiğinden kullanıcıları bir dizi tablo aracılığıyla verileri işlemek için madalyon mimariden yararlanmaya teşvik eder. DLT, iyileştirilmiş yürütme ve otomatik altyapı dağıtımı ve ölçeklendirme yoluyla ETL iş yüklerini basitleştirir.
Delta Lake özellik uyumluluğu
Delta Lake özelliklerinin tümü Databricks Runtime'ın tüm sürümlerinde değildir. Delta Lake sürümü oluşturma hakkında bilgi için bkz . Azure Databricks Delta Lake özellik uyumluluğunu nasıl yönetir?.
Delta Lake API belgeleri
Delta tablolarındaki çoğu okuma ve yazma işlemi için Spark SQL veya Apache Spark DataFrame API'lerini kullanabilirsiniz.
Delta Lake'e özgü SQL deyimleri için bkz . Delta Lake deyimleri.
Azure Databricks, Databricks Runtime'daki Delta Lake API'leriyle ikili uyumluluk sağlar. Her Databricks Runtime sürümünde paketlenmiş Delta Lake API sürümünü görüntülemek için Databricks Runtime sürüm notlarındaki ilgili makalenin Sistem ortamı bölümüne bakın. Python, Scala ve Java için Delta Lake API'leri hakkında belgeler için OSS Delta Lake belgelerine bakın.