Zephyrnet Logosu

Databricks Delta Lake'ten Apache Iceberg'e Geçiş Kılavuzu

Tarih:

Giriş

Hızla değişen büyük dünyada veri işleme ve analitik, kapsamlı veri kümelerinin potansiyel yönetimi, şirketlerin bilinçli kararlar alması için temel bir dayanak görevi görüyor. Verilerinden yararlı bilgiler elde etmelerine yardımcı olur. Son birkaç yılda Databricks Delta Lake ve Apache Iceberg gibi çeşitli çözümler ortaya çıktı. Bu platformlar veri gölü yönetimi için geliştirilmiştir ve her ikisi de sağlam özellikler ve işlevler sunar. Ancak kuruluşların mevcut platforma geçiş için mimari, teknik ve işlevsel açıdan nüansları kavraması gerekir. Bu makalede Databricks Delta Lake'ten Apache Iceberg'e geçişin karmaşık süreci incelenecektir.

Öğrenme hedefleri

  • Databricks ve Apache Iceberg'in özelliklerini anlamak.
  • Databricks ile Apache Iceberg arasındaki mimari bileşenleri karşılaştırmayı öğrenin.
  • Delta gölü mimarisini Iceberg gibi açık kaynaklı bir platforma taşımak için en iyi uygulamaları anlayın.
  • Delta lake platformuna alternatif olarak diğer üçüncü taraf araçlarını kullanmak.

Bu makale, Veri Bilimi Blogatonu.

İçindekiler

Databricks Delta Lake'i Anlamak

Databricks Delta Lake temel olarak veri tabanının üzerine inşa edilmiş karmaşık bir depolama katmanıdır. Apache Spark çerçeve. Sorunsuz veri yönetimi için geliştirilmiş bazı modern veri işlevleri sunar. Delta Lake'in özünde çeşitli özellikler var:

  • ASİT İşlemleri: Delta Lake, kullanıcı verilerindeki tüm değişiklikler için Atomiklik, Tutarlılık, Yalıtım ve Dayanıklılık temel ilkelerini garanti eder, böylece sağlam ve geçerli veri işlemleri sağlar.
  • Şema Gelişimi: Esneklik ağırlıklı olarak aşağıdakilerle birlikte gelir: Delta Gölü, çünkü şema gelişimini sorunsuz bir şekilde destekleyerek sektörlerin üretimdeki mevcut veri hatlarını bozmadan şema değişikliklerini gerçekleştirmesine olanak tanır.
  • Zaman yolculuğu: Tıpkı bilim kurgu filmlerindeki zaman yolculuğu gibi, delta gölü de zamanın belirli noktalarındaki veri anlık görüntülerini sorgulama olanağı sağlar. Böylece kullanıcılara verilerin kapsamlı tarihsel analizine ve sürüm oluşturma yeteneklerine derinlemesine dalma olanağı sağlar.
  • Optimize Edilmiş Dosya Yönetimi: Delta Lake, veri dosyalarını ve meta verileri düzenlemek ve yönetmek için güçlü teknikleri destekler. Optimize edilmiş sorgu performansı sağlar ve depolama maliyetlerini azaltır.

Apache Iceberg'in Özellikleri

Apache Iceberg, gelişmiş veri gölü yönetimi çözümü arayan şirketler için rekabetçi bir alternatif sağlar. Buzdağları, Parke veya ORC gibi bazı geleneksel formatları yener. Pek çok ayırt edici avantajı vardır:

  • Şema Gelişimi: Kullanıcı, pahalı tablo yeniden yazma işlemlerine gerek kalmadan şema değişikliklerini gerçekleştirirken şema geliştirme özelliğinden yararlanabilir.
  • Anlık Görüntü Yalıtımı: Iceberg, anlık görüntü izolasyonu için destek sağlar, böylece tutarlı okuma ve yazma işlemlerini garanti eder. Veri bütünlüğünden ödün vermeden tablolarda eş zamanlı değişiklik yapılmasını kolaylaştırır.
  • Meta Veri Yönetimi: Bu özellik temel olarak meta verileri veri dosyalarından ayırır. Ve bunu veri dosyalarından farklı, özel bir depoda saklayın. Bunu performansı artırmak ve verimli meta veri işlemlerini güçlendirmek için yapar.
  • Bölme Budama: Gelişmiş budama tekniklerinden yararlanarak, sorgu yürütme sırasında taranan verileri azaltarak sorgu performansını optimize eder.

Mimarilerin Karşılaştırmalı Analizi

Mimarilerin karşılaştırmalı analizine daha derinlemesine bakalım:

Databricks Delta Gölü Mimarisi

  • Depolama Katmanı: Delta Lake, Amazon S3 gibi bulut depolamanın avantajlarından yararlanıyor, Azure Blobu hem veri dosyalarından hem de işlem günlüklerinden oluşan temel depolama katmanı olarak.
  • Meta Veri Yönetimi: Meta veriler işlem günlüğünde kalır. Böylece verimli meta veri işlemlerine yol açar ve veri tutarlılığını garanti eder.
  • Optimizasyon Teknikleri: Delta Lake tonlarca enerji kullanıyor optimizasyon teknikleri. Sorgu performansını önemli ölçüde artırmak ve verileri tararken ek yükü azaltmak için veri atlama ve Z sıralamasını içerir.
Databricks Delta Gölü Mimarisi

Apache Buzdağı Mimarisi

  • Meta Verilerin Ayırma: Karşılaştırıldığında fark var veri tuğlaları meta verileri veri dosyalarından ayırma açısından. Buzdağı meta verileri veri dosyalarından ayrı bir depoda saklar.
  • İşlem Desteği: Iceberg, veri bütünlüğünü ve güvenilirliğini sağlamak için sağlam bir işlem protokolüne sahiptir. Bu protokol atomik ve tutarlı tablo işlemlerini garanti eder.
  • Uyumluluk: Apache Spark, Flink ve Presto gibi motorlar Iceberg ile kolaylıkla uyumludur. Geliştiriciler, Iceberg'i bu gerçek zamanlı ve toplu işleme çerçeveleriyle kullanma esnekliğine sahiptir.
Apache Buzdağı Mimarisi

Göç Ortamında Gezinme: Dikkat Edilmesi Gerekenler ve En İyi Uygulamalar

Databricks Delta Lake'ten Apache Iceberg'e geçişi gerçekleştirmek için çok fazla planlama ve yürütme gerekiyor. Bazı hususlar dikkate alınmalıdır:

  • Şema Gelişimi: Şema değişiklikleri sırasında tutarlılığın korunması için Delta Lake ve Iceberg'in şema geliştirme özelliği arasındaki kusursuz uyumluluğun garanti edilmesi.
  • Veri göçü: Stratejiler, veri hacmi, kesinti gereksinimleri ve veri tutarlılığı gibi faktörler dikkate alınarak geliştirilmeli ve uygulanmalıdır.
  • Sorgu Uyumluluğu: Delta Lake ve Iceberg arasındaki sorgu uyumluluğu kontrol edilmelidir. Bu, sorunsuz bir geçişe yol açacak ve mevcut sorgu işlevselliği de geçiş sonrasında bozulmadan kalacaktır.
  • Performans Test yapmak: Sorgu performansını kontrol etmek için kapsamlı performans ve regresyon testleri başlatın. Buzdağı ile Delta Gölü arasında da kaynak kullanımının kontrol edilmesi gerekiyor. Bu şekilde optimizasyon için potansiyel alanlar tanınabilir.

Geçiş için geliştiriciler Iceberg'den ve databricks belgelerinden önceden tanımlanmış bazı kod iskeletlerini kullanabilir ve bunları uygulayabilir. Adımlar aşağıda belirtilmiştir ve burada kullanılan dil Scala'dır:

Adım 1: Delta Lake Tablosunu Oluşturun

İlk adımda, içinde veri oluşturmaya devam etmeden önce S3 paketinin boş olduğundan ve doğrulandığından emin olun. Veri oluşturma işlemi tamamlandıktan sonra aşağıdaki kontrolü gerçekleştirin:

Adım 1: Delta Lake Tablosunu Oluşturun
val data=spark.range(0,5)
data.write.format("delta").save("s3://testing_bucket/delta-table")

spark.read.format("delta").load("s3://testing_bucket/delta-table")
Delta Lake Tablosu Oluşturun
Delta Lake Tablosu Oluşturun

İsteğe bağlı vakum kodu ekleme

#adding optional code for vaccum later
val data=spark.range(5,10)
data.write.format("delta").mode("overwrite").save("s3://testing_bucket/delta-table")

Adım 2: CTAS ve Delta Lake Tablosunun Okunması

#reading delta lake table
spark.read.format("delta").load("s3://testing_bucket/delta-table")

Adım 3: Delta Lake'in Okunması ve Buzdağı Tablosuna Yazılması

val df_delta=spark.read.format("delta").load("s3://testing_bucket/delta-table")
df_delta.writeTo("test.db.iceberg_ctas").create()
spark.read.format("iceberg").load("test.db.iceberg.ctas)

S3 kapsamında buzdağı tablolarına dökülen verileri doğrulayın

Delta Lake'i Okumak ve Buzdağı Tablosuna Yazmak
Delta Lake'i Okumak ve Buzdağı Tablosuna Yazmak

Üçüncü taraf araçların basitlik, performans, uyumluluk ve destek açısından karşılaştırılması. İki araç yani. AWS Glue DataBrew ve Snowflake kendi işlevsellikleriyle birlikte gelir.

AWS Tutkal DataBrew

Taşıma Süreci:

  • Kullanım kolaylığı: AWS Glue DataBrew, AWS cloud kapsamındaki bir üründür ve veri temizleme ve dönüştürme görevleri için kullanıcı dostu bir deneyim sunar.
  • Bütünleşme: Glue DataBrew diğer Amazon bulut hizmetleriyle sorunsuz bir şekilde entegre edilebilir. AWS ile çalışan kuruluşlar bu hizmetten yararlanabilirler.

Özellik seti:

  • Veri Dönüşümü: Veri dönüşümü (EDA) için geniş bir özellik seti ile birlikte gelir. Veri geçişi sırasında kullanışlı olabilir.
  • Otomatik Profil Oluşturma: Diğer açık kaynak araçlar gibi DataBrew de verilerin profilini otomatik olarak çıkarır. tutarsızlıkları tespit etmek ve ayrıca dönüşüm görevleri önermek için.

Performans ve Uyumluluk:

  • ölçeklenebilirlik: Taşıma işlemi sırasında karşılaşılabilecek daha büyük veri kümelerinin işlenmesi için Glue DataBrew, bunun da üstesinden gelebilecek ölçeklenebilirlik sağlar.
  • uygunluk: Daha geniş format ve veri kaynakları seti ile uyumluluk sağlar, böylece çeşitli depolama çözümleriyle entegrasyonu kolaylaştırır.

Kar taneciği

Taşıma Süreci:

  • Geçiş Kolaylığı: Basitlik açısından Snowflake, son kullanıcıların mevcut veri ambarlarından Snowflake platformuna geçmesine yardımcı olan geçiş hizmetlerine sahiptir.
  • Kapsamlı Belgeler: Snowflake, geçiş sürecine başlamak için geniş belgeler ve bol miktarda kaynak sunar.

Özellik seti:

  • Veri Depolama Yetenekleri: Daha geniş bir depolama özellikleri kümesi sağlar ve yarı yapılandırılmış veriler, veri paylaşımı ve veri yönetimi desteğine sahiptir.
  • eşzamanlılık: Mimari, zorlu veri işleme gereksinimleri olan kuruluşlar için uygun olan yüksek eşzamanlılığa izin verir.

Performans ve Uyumluluk:

  • Performans: Snowflake aynı zamanda ölçeklenebilirlik açısından da performans açısından verimlidir ve son kullanıcıların büyük veri hacimlerini kolaylıkla işlemesine olanak tanır.
  • uygunluk: Snowflake ayrıca farklı veri kaynakları için çeşitli konektörler sağlar, böylece çeşitli veri ekosistemleriyle çapraz uyumluluğu garanti eder.
"

Sonuç

Veri gölü ve ambar yönetimi iş akışlarını optimize etmek ve iş sonuçlarını elde etmek için geçiş, kuruluşlar için hayati öneme sahiptir. Endüstriler, hem yetenekler hem de mimari ve teknik farklılıklar açısından platformlardan yararlanabilir ve veri setlerinin maksimum potansiyelini kullanmak için hangisini seçeceklerine karar verebilir. Uzun vadede kuruluşlara da yardımcı olur. Dinamik ve hızlı değişen veri ortamıyla yenilikçi çözümler, kuruluşları zirvede tutabilir.

Önemli Noktalar

  • Apache Iceberg, anlık görüntü yalıtımı, verimli meta veri yönetimi, bölüm budama gibi harika özellikler sağlar ve böylece veri gölü yönetimi yeteneklerinin geliştirilmesine yol açar.
  • Apache Iceberg'e geçiş, dikkatli planlama ve uygulama gerektirir. Kuruluşların şema gelişimi, veri taşıma stratejileri ve sorgu uyumluluğu gibi faktörleri dikkate alması gerekir.
  • Databricks Delta Lake, veri dosyalarını ve işlem günlüklerini depolayarak temel depolama katmanı olarak bulut depolamayı kullanır; Iceberg ise meta verileri veri dosyalarından ayırarak performansı ve ölçeklenebilirliği artırır.
  • Kuruluşlar ayrıca depolama maliyetleri, bilgi işlem ücretleri, lisans ücretleri ve geçiş için gereken geçici kaynaklar gibi mali sonuçları da dikkate almalıdır.

Sık Sorulan Sorular

S1. Databricks Delta Lake'ten Apache Iceberg'e geçiş işlemi nasıl yapılıyor?

C. Verilerin Databricks Delta Lake'ten dışarı aktarılmasını, gerekirse temizlenmesini ve ardından Apache Iceberg tablolarına aktarılmasını içerir.

Q2. Manuel müdahale olmadan geçişe yardımcı olacak herhangi bir otomatik araç var mı?

C. Kuruluşlar bu iş akışını oluşturmak için genellikle özel python/Scala komut dosyalarından ve ETL araçlarından yararlanır.

S3. Kuruluşların geçiş sürecinde karşılaştıkları ortak zorluklar nelerdir?

C. Ortaya çıkması muhtemel bazı zorluklar şunlardır: veri tutarlılığı, şema gelişimi farklılıklarının ele alınması ve geçiş sonrası performansın optimize edilmesi.

S4. Apache Iceberg ile Parke veya ORC gibi diğer tablo formatları arasındaki fark nedir?

C. Apache Iceberg, onu Parquet ve ORC'den ayıran şema gelişimi, anlık görüntü izolasyonu ve verimli meta veri yönetimi gibi özellikler sunar.

S5. Apache Iceberg'i bulut tabanlı depolama çözümleriyle kullanabilir miyiz?

C. Apache Iceberg kesinlikle AWS S3, Azure Blob Storage ve Google Cloud Storage gibi yaygın olarak kullanılan bulut tabanlı depolama çözümleriyle uyumludur.

Bu makalede gösterilen medya Analytics Vidhya'ya ait değildir ve Yazarın takdirine bağlı olarak kullanılır.

spot_img

En Son İstihbarat

spot_img