Azure Databricks'te Delta Lake nedir?

Databricks üzerinde bir lakehouse'daki tabloların temelini sağlayan optimize edilmiş depolama katmanı Delta Lake'tir. 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 belirtilmedikçe, Azure Databricks üzerindeki tüm tablolar Delta Lake 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 üzerindeki tüm tablolar varsayılan olarak Delta Lake 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 tablolarını oluşturma ve yönetme.

Databricks önerileri ve Delta Lake kullanımıyla ilgili en iyi yöntemler için bkz . En iyi yöntemler: Delta Lake.

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çok özelliğe sahiptir.

Method Description
Eğitim: Lakeflow Pipelines ile bir ETL işlem hattı oluşturun Lakeflow işlem hatlarını kullanarak uçtan uca ETL işlem hattı oluşturun.
Azure Data Lake Storage'dan artımlı veri alımını ayarlayın Otomatik Yükleyici ve Lakeflow işlem hatlarını kullanarak bulut depolamadan artımlı alımı ayarlayın.
Akış tabloları Lakeflow işlem hatlarında yalnızca eklemeli veri alımı ve düşük gecikmeli akış için akış tablolarını kullanın.
Veri yüklemek için COPY INTO kullanmaya başlama SQL kullanarak bulut depolamadan verileri artımlı ve idempotent olarak yükleyin.
Otomatik Yükleyici nedir? Dosyaları bulut depolama alanından geldikçe artımlı olarak alın.
Dosya yükleme kullanarak tablo oluşturma veya değiştirme dosyaları karşıya yükleyin ve Azure Databricks kullanıcı arabiriminden tablolar oluşturun.
Parquet ve Apache Iceberg tablolarını artımlı olarak Delta Lake'e kopyalama Parquet veya Apache Iceberg tablolarını artımlı olarak Delta Lake'e kopyalama.
Delta Lake'e dönüştürme Parquet veya Apache Iceberg tablolarının Delta Lake'e tek seferlik dönüştürülmesi.
Teknoloji iş ortakları Üçüncü taraf iş ortaklarını ve araçlarını Azure Databricks lakehouse'unuza bağlayın.

Alım seçeneklerinin tam listesi için bkz. Lakeflow Connect'te standart bağlayıcılar.

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 kullanmanıza olanak tanır. 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.

Operation Description
Merge kullanarak Delta Lake tablosunda upsert yapma Birleştirme işlemini kullanarak delta lake tablosuna veri ekleme.
Delta Lake ile verilerin üzerine seçmeli olarak yazma Filtrelere ve partisyonlara göre veri alt kümelerinin üzerine yazın.
Tablo şemalarını şema evrimi ile güncelleştirme Verileri yeniden yazmadan tablo şemanızı el ile veya otomatik olarak güncelleştirin.
Delta Lake sütun eşlemesi ile sütunları yeniden adlandırma ve silme Verileri yeniden yazmadan sütunları yeniden adlandırın veya silin.

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. Lakeflow işlem hatları basitleştirilmiş altyapı dağıtımı, gelişmiş ölçeklendirme ve yönetilen veri bağımlılıkları ile yerleşik özellikleri genişletir.

Özellik Description
Delta Lake tablo akışı okuma ve yazma işlemleri Delta Lake tablolarını, Structured Streaming için readStream ve writeStream ile kaynak ve hedef olarak kullanın.
Azure Databricks'te değişiklik verisi akışını kullanma Delta Lake veya Apache Iceberg v3 tablosunun sürümleri arasındaki satır düzeyi değişiklikleri izleyin.

Tablonun önceki sürümlerini sorgulama

Delta Lake 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. Bkz. 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.

Özellik Description
Şema uygulama Yazma işleminde şemayı zorunlu kılarak veri kalitesini doğrulayın.
Azure Databricks'te kısıtlamalar Zorunlu bütünlük kısıtlamalarını ve bilgilendirici birincil anahtar, yabancı anahtar ve benzersizlik kısıtlamalarını uygulayın.
Delta Lake tarafından oluşturulan sütunlar Kullanıcı tarafından belirtilen işlevleri kullanarak sütun değerlerini otomatik olarak oluşturun.
Tabloları özel meta verilerle zenginleştirme Veri bulmayı zenginleştirmek için tablolara ve sütunlara açıklamalar ve özel meta veriler ekleyin.

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.

Özellik Description
Tablolar için sıvı kümeleme kullanma Sıvı kümeleme kullanarak bölümleme yapmadan veri düzenini basitleştirin ve sorgu performansını iyileştirin.
Veri atlama Sütun istatistiklerini, Z sırasını ve iyileştirilmiş veri düzenini kullanarak sorgu zamanında ilgisiz dosyaları atlayın.
Veri dosyası düzenini iyileştirme Sorgu performansını geliştirmek için küçük veri dosyalarını sıkıştır.
Kullanılmayan veri dosyalarını vakumla kaldırma Depolama maliyetlerini azaltmak için eski veri dosyalarını kaldırın.
Otomatik yaşam süresi ile otomatik satır silme Yapılandırılabilir bir zaman aralığından sonra yönetilen tablolardaki satırları otomatik olarak silin.
Veri dosyası boyutunu denetleme Hedef dosya boyutunu el ile denetleyin veya otomatik dosya boyutu ayarlamayı etkinleştirin.

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 Lake tablosunun ayrıntılarını gözden geçirebilirsiniz.

Özellik Description
Açıklama ayrıntılarıyla tablo ayrıntılarını gözden geçirin komutunu kullanarak DESCRIBE DETAIL tablo yapılandırmalarını ve meta verilerini görüntüleyin.
Tablo özellikleri referansı Delta Lake tablolarında kullanılabilen tablo özelliklerinin başvuru listesi.

Delta Lake ve Lakeflow işlem hatlarını 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. Lakeflow işlem hatları , iyileştirilmiş yürütme ve otomatik altyapı dağıtımı ile ö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. Delta Lake özellik uyumluluğu ve protokolleri.

Delta Lake API belgeleri

Delta Lake 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.