Orijinal Apache Spark geliştiricileri tarafından kurulan Databricks, Spark’ın açık kaynaklı bir depolama katmanı olan, makine öğrenimi ve diğer büyük veri çalışmaları için ACID işlemleri ve diğer veri yönetimi işlevlerini sağlayan Delta Lake‘i yayınladı.
Birçok veri çalışması, ACID işlemleri veya tutarlılık için şema uygulaması, güvenlik için meta veri yönetimi ve ayrı veri sürümleriyle çalışma yeteneği gibi özelliklere ihtiyaç duyar. Bu gibi özellikler orada her veri kaynağında standart olarak gelmiyor, bu yüzden Delta Lake, bu özellikleri herhangi bir Spark DataFrame veri kaynağı için sağlıyor.
Delta Lake, HDFS gibi depolama sistemlerine erişmek için drop-in yerine kullanılabilir. Delta Lake aracılığıyla Spark’a alınan veriler, seçtiğiniz bir bulut depolama hizmetinde Parquet biçiminde depolanır. Devlopers, Delta Lake’in API setine erişmek için kendi Java, Python veya Scala seçeneklerini kullanabilir.
Delta Lake, veri okumak ve yazmak için mevcut Spark SQL DataFrame fonksiyonlarının çoğunu destekler. Ayrıca, DStream API’sini olmasa da, bir kaynak veya hedef olarak Spark Structured Streaming’i destekler. Delta Lake’ndeki her okuma ve yazma işleminin bir ACID işlem garantisi vardır, böylece birden fazla yazarın yazdıkları serileştirilir ve birden çok okuyucu tutarlı görüntüler görür.
Bir veri setinin belirli bir sürümünü okumak – Delta Lake belgelerinin “zaman yolculuğu” dediği şey – yalnızca ilişkili bir zaman damgası veya sürüm kimliği ile bir DataFrame okuyarak çalışır. Delta Gölü ayrıca, yazılmakta olan DataFrame’in şemalarının yazıldığı tabloyla aynı olmasını sağlar; bir uyuşmazlık varsa, şemayı değiştirmek yerine bir istisna atar. (Spark’ın dosya API’leri bu durumda masanın yerine geçecektir.)
Delta Lake’in gelecekteki sürümleri, SparkF’ın genel API setinin çoğunu destekleyebilir, ancak DataFrameReader / Writer şu an için ana odak noktasıdır.
Yorum Yap