Logotip Zephyrnet

Vodnik za selitev z Databricks Delta Lake na Apache Iceberg

Datum:

Predstavitev

V hitro spreminjajočem se svetu velikih obdelava podatkov in analitike, potencialno upravljanje obsežnih naborov podatkov služi kot temeljni steber za podjetja pri sprejemanju odločitev na podlagi informacij. Pomaga jim pridobiti koristne vpoglede iz svojih podatkov. V zadnjih nekaj letih so se pojavile različne rešitve, kot sta Databricks Delta Lake in Apache Iceberg. Te platforme so bile razvite za upravljanje podatkovnega jezera in obe ponujata robustne funkcije in funkcionalnosti. Toda za organizacije je potrebno dojeti nianse v smislu arhitekture, tehničnih in funkcionalnih vidikov za selitev obstoječe platforme. Ta članek bo raziskal kompleksen proces prehoda iz Databricks Delta Lake v Apache Iceberg.

Učni cilji

  • Razumevanje funkcij Databricks in Apache Iceberg.
  • Naučite se primerjati arhitekturne komponente Databricks in Apache Iceberg.
  • Razumeti najboljše prakse za selitev arhitekture delta lake na odprtokodno platformo, kot je Iceberg.
  • Za uporabo drugih orodij tretjih oseb kot alternativo platformi delta lake.

Ta članek je bil objavljen kot del Blogaton podatkovne znanosti.

Kazalo

Razumevanje Databricks Delta Lake

Databricks Delta Lake je v bistvu prefinjena plast za shranjevanje, zgrajena na vrhu Apache Spark ogrodje. Ponuja nekaj sodobnih podatkovnih funkcionalnosti, razvitih za brezhibno upravljanje podatkov. Delta Lake ima v svojem jedru različne značilnosti:

  • Transakcije ACID: Delta Lake zagotavlja temeljna načela atomičnosti, doslednosti, izolacije in vzdržljivosti za vse spremembe uporabniških podatkov, s čimer zagotavlja robustne in veljavne podatkovne operacije.
  • Razvoj sheme: Prilagodljivost prihaja predvsem z Delta jezero, ker nemoteno podpira razvoj sheme in tako industriji omogoča, da izvaja spremembe sheme, ne da bi pri tem motil obstoječe podatkovne cevovode v proizvodnji.
  • Čas potovanja: Tako kot potovanje skozi čas v znanstvenofantastičnih filmih tudi delta lake omogoča poizvedovanje po posnetkih podatkov v določenih časovnih točkah. Tako omogoča uporabnikom, da se poglobijo v celovito zgodovinsko analizo podatkov in zmožnosti različic.
  • Optimizirano upravljanje datotek: Delta Lake podpira robustne tehnike za organiziranje in upravljanje podatkovnih datotek in metapodatkov. Posledica tega je optimizirano delovanje poizvedb in zmanjšanje stroškov shranjevanja.

Značilnosti Apache Iceberg

Apache Iceberg ponuja konkurenčno alternativo za podjetja, ki iščejo izboljšano rešitev za upravljanje podatkovnega jezera. Icebergs premaga nekatere tradicionalne formate, kot sta parket ali ORC. Obstaja veliko izrazitih prednosti:

  • Razvoj sheme: Uporabnik lahko izkoristi funkcijo razvoja sheme, medtem ko izvaja spremembe sheme brez dragih prepisov tabel.
  • Izolacija posnetka: Iceberg zagotavlja podporo za izolacijo posnetkov, kar zagotavlja dosledno branje in pisanje. Omogoča sočasne spremembe v tabelah brez ogrožanja celovitosti podatkov.
  • Upravljanje metapodatkov: Ta funkcija v bistvu loči metapodatke od podatkovnih datotek. In ga shranite v namenski repo, ki se razlikuje od samih podatkovnih datotek. To stori tako, da poveča zmogljivost in omogoči učinkovite operacije metapodatkov.
  • Obrezovanje pregrad: Z uporabo naprednih tehnik obrezovanja optimizira zmogljivost poizvedbe z zmanjšanjem podatkov, pregledanih med izvajanjem poizvedbe.

Primerjalna analiza arhitektur

Poglobimo se v primerjalno analizo arhitektur:

Databricks Delta Lake Architecture

  • Plast za shranjevanje: Delta Lake izkoristi prednosti shranjevanja v oblaku, na primer Amazon S3, Azure Blob kot njen osnovni sloj shranjevanja, ki je sestavljen iz podatkovnih datotek in dnevnikov transakcij.
  • Upravljanje metapodatkov: Metapodatki ostanejo v dnevniku transakcij. Tako vodi do učinkovitih metapodatkovnih operacij in zagotavlja doslednost podatkov.
  • Optimizacijske tehnike: Delta Lake uporablja na tone optimizacijske tehnike. Vključuje preskakovanje podatkov in Z-razvrščanje za radikalno izboljšanje zmogljivosti poizvedb in zmanjšanje režijskih stroškov med skeniranjem podatkov.
Databricks Delta Lake Architecture

Arhitektura ledene gore Apache

  • Ločevanje metapodatkov: Obstaja razlika v primerjavi z Podatkovne palice v smislu ločevanja metapodatkov od podatkovnih datotek. Iceberg shranjuje metapodatke v ločenem repozitoriju od podatkovnih datotek.
  • Transakcijska podpora: Za zagotavljanje integritete in zanesljivosti podatkov se Iceberg ponaša z robustnim transakcijskim protokolom. Ta protokol zagotavlja atomsko in dosledno delovanje tabele.
  • Združljivost: Motorji, kot so Apache Spark, Flink in Presto, so zlahka združljivi z Icebergom. Razvijalci imajo prilagodljivost pri uporabi Iceberga s temi okviri za realnočasovno in paketno obdelavo.
Arhitektura ledene gore Apache

Krmarjenje po migracijski pokrajini: premisleki in najboljše prakse

Za izvedbo selitve iz Databricks Delta Lake na Apache Iceberg je potrebno ogromno načrtovanja in izvedbe. Upoštevati je treba nekaj premislekov, in sicer:

  • Razvoj sheme: Zagotavljanje brezhibne združljivosti med funkcijo razvoja sheme Delta Lake in Iceberg za ohranitev doslednosti med spremembami sheme.
  • Prenos podatkov: strategije morajo biti razvite in vzpostavljene z dejavniki, kot so količina podatkov, zahteve po izpadih in doslednost podatkov.
  • Združljivost poizvedb: Treba je preveriti združljivost poizvedb med Delta Lake in Iceberg. To bo vodilo do gladkega prehoda, obstoječa funkcionalnost poizvedb pa bo tudi po selitvi nedotaknjena.
  • Uspešnost Testiranje: Začnite obsežne preizkuse zmogljivosti in regresijske teste, da preverite zmogljivost poizvedbe. Uporabo virov je treba preveriti tudi med Icebergom in Delta Lake. Na ta način je mogoče prepoznati potencialna področja za optimizacijo.

Za selitev lahko razvijalci uporabijo nekaj vnaprej določenih kodnih okostij iz dokumentacije Iceberg in databricks ter jih implementirajo. Koraki so omenjeni spodaj, tukaj uporabljen jezik pa je Scala:

1. korak: Ustvarite tabelo Delta Lake

V začetnem koraku zagotovite, da je vedro S3 prazno in preverjeno, preden nadaljujete z ustvarjanjem podatkov v njem. Ko je postopek ustvarjanja podatkov končan, izvedite naslednje preverjanje:

1. korak: Ustvarite tabelo Delta Lake
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")
Ustvari tabelo Delta Lake
Ustvari tabelo Delta Lake

Dodajanje neobvezne vakuumske kode

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

2. korak: CTAS in tabela Reading Delta Lake

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

3. korak: Branje Delta Lake in pisanje v tabelo Iceberg

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)

Preverite podatke, prenesene v tabele ledene gore pod S3

Branje Delta Lake in Pisanje na tabelo Iceberg
Branje Delta Lake in Pisanje na tabelo Iceberg

Primerjava orodij tretjih oseb v smislu preprostosti, zmogljivosti, združljivosti in podpore. Dve orodji, tj. AWS Glue DataBrew in Snowflake imata lasten nabor funkcij.

AWS lepilo DataBrew

Postopek selitve:

  • Enostavnost uporabe: AWS Glue DataBrew je izdelek v oblaku AWS in zagotavlja uporabniku prijazno izkušnjo za naloge čiščenja in preoblikovanja podatkov.
  • Integracija: Glue DataBrew je mogoče brezhibno integrirati z drugimi storitvami v oblaku Amazon. Organizacije, ki delajo z AWS, lahko uporabljajo to storitev.

Komplet funkcij:

  • Preoblikovanje podatkov: Prihaja z velikim naborom funkcij za pretvorbo podatkov (EDA). Lahko pride prav med selitvijo podatkov.
  • Samodejno profiliranje: Tako kot druga odprtokodna orodja DataBrew samodejno profilira podatke. za odkrivanje kakršnih koli nedoslednosti in tudi priporočanje nalog za preoblikovanje.

Zmogljivost in združljivost:

  • Prilagodljivost: Za obdelavo večjih naborov podatkov, na katere lahko naletite med postopkom selitve, Glue DataBrew zagotavlja razširljivost za obravnavo tudi tega.
  • združljivost: Zagotavlja združljivost s širšim naborom formatov in virov podatkov, kar olajša integracijo z različnimi rešitvami za shranjevanje.

Snowflake

Postopek selitve:

  • Enostavnost selitve: Za poenostavitev ima Snowflake storitve selitve, ki končnim uporabnikom pomagajo pri prehodu iz obstoječih podatkovnih skladišč na platformo Snowflake.
  • Obsežna dokumentacija: Snowflake ponuja obsežno dokumentacijo in dovolj virov za začetek postopka selitve.

Komplet funkcij:

  • Zmogljivosti skladiščenja podatkov: Zagotavlja širši nabor funkcij skladiščenja in ima podporo za polstrukturirane podatke, skupno rabo podatkov in upravljanje podatkov.
  • Konkurenca: Arhitektura omogoča visoko sočasnost, ki je primerna za organizacije z zahtevnimi zahtevami glede obdelave podatkov.

Zmogljivost in združljivost:

  • Uspešnost: Snowflake je tudi učinkovit glede zmogljivosti v smislu razširljivosti, kar končnim uporabnikom omogoča enostavno obdelavo ogromnih količin podatkov.
  • združljivost: Snowflake ponuja tudi različne priključke za različne vire podatkov, s čimer zagotavlja navzkrižno združljivost z različnimi podatkovnimi ekosistemi.
"

zaključek

Za optimizacijo delovnih tokov upravljanja podatkovnega jezera in skladišča ter pridobivanje poslovnih rezultatov je prehod ključnega pomena za organizacije. Industrije lahko izkoristijo obe platformi v smislu zmogljivosti ter arhitekturnih in tehničnih razlik in se odločijo, katero bodo izbrale, da bodo izkoristile največji potencial svojih naborov podatkov. Organizacijam pomaga tudi na dolgi rok. Z dinamično in hitro spreminjajočo se podatkovno pokrajino lahko inovativne rešitve držijo organizacije na robu.

Ključni izdelki

  • Apache Iceberg ponuja fantastične funkcije, kot so izolacija posnetkov, učinkovito upravljanje metapodatkov, obrezovanje particij, kar vodi do izboljšanja zmogljivosti upravljanja podatkovnega jezera.
  • Prehod na Apache Iceberg zahteva previdno načrtovanje in izvedbo. Organizacije bi morale upoštevati dejavnike, kot so razvoj sheme, strategije selitve podatkov in združljivost poizvedb.
  • Databricks Delta Lake izkorišča shranjevanje v oblaku kot osnovno plast shranjevanja, kjer shranjuje podatkovne datoteke in dnevnike transakcij, medtem ko Iceberg ločuje metapodatke od podatkovnih datotek, kar izboljšuje zmogljivost in razširljivost.
  • Organizacije bi morale upoštevati tudi finančne posledice, kot so stroški shranjevanja, stroški računalništva, licenčnine in morebitni ad hoc viri, potrebni za selitev.

Pogosto zastavljena vprašanja

Q1. Kako poteka postopek selitve iz Databricks Delta Lake v Apache Iceberg?

A. Vključuje izvoz podatkov iz Databricks Delta Lake, njihovo čiščenje, če je potrebno, in nato uvoz v tabele Apache Iceberg.

Q2. Ali so na voljo kakšna avtomatizirana orodja za pomoč pri selitvi brez ročnega posredovanja?

A. Organizacije na splošno uporabljajo skripte python/Scala po meri in orodja ETL za gradnjo tega poteka dela.

Q3. S katerimi pogostimi izzivi se organizacije srečujejo med procesom migracije?

A. Nekateri izzivi, ki se bodo zelo verjetno zgodili, so – doslednost podatkov, obravnavanje razlik v razvoju shem in optimizacija delovanja po selitvi.

Q4. Kakšna je razlika med Apache Iceberg in drugimi formati tabel, kot sta Parquet ali ORC?

A. Apache Iceberg ponuja funkcije, kot so razvoj sheme, izolacija posnetkov in učinkovito upravljanje metapodatkov, po katerih se razlikuje od Parquet in ORC.

V5. Ali lahko uporabljamo Apache Iceberg z rešitvami za shranjevanje v oblaku?

A. Vsekakor je Apache Iceberg združljiv s pogosto uporabljenimi rešitvami za shranjevanje v oblaku, kot so AWS S3, Azure Blob Storage in Google Cloud Storage.

Mediji, prikazani v tem članku, niso v lasti Analytics Vidhya in se uporabljajo po lastni presoji avtorja.

spot_img

Najnovejša inteligenca

spot_img