Zephyrnet logo

Opas siirtymiseen Databricks Delta Lakesta Apache Icebergiin

Treffi:

esittely

Suuren nopeasti muuttuvassa maailmassa tietojenkäsittely ja analytiikka, laajojen aineistojen mahdollinen hallinta toimii perustana yrityksille tietoisten päätösten tekemisessä. Se auttaa heitä poimimaan hyödyllisiä oivalluksia tiedoistaan. Viime vuosina on syntynyt erilaisia ​​ratkaisuja, kuten Databricks Delta Lake ja Apache Iceberg. Nämä alustat on kehitetty datajärven hallintaan, ja molemmat tarjoavat vankkoja ominaisuuksia ja toimintoja. Mutta organisaatioiden on ymmärrettävä vivahteet arkkitehtuurin, teknisten ja toiminnallisten näkökohtien suhteen olemassa olevan alustan siirtämiseksi. Tämä artikkeli tutkii monimutkaista siirtymistä Databricks Delta Lakesta Apache Icebergiin.

Oppimistavoitteet

  • Databricksin ja Apache Icebergin ominaisuuksien ymmärtäminen.
  • Opi vertaamaan Databricksin ja Apache Icebergin arkkitehtonisia komponentteja.
  • Ymmärrä parhaat käytännöt Delta Lake -arkkitehtuurin siirtämiseksi avoimen lähdekoodin alustalle, kuten Iceberg.
  • Hyödyntämään muita kolmannen osapuolen työkaluja vaihtoehtona delta-järven alustalle.

Tämä artikkeli julkaistiin osana Data Science Blogathon.

Sisällysluettelo

Databricksin Delta Laken ymmärtäminen

Databricks Delta Lake on pohjimmiltaan hienostunut tallennuskerros, joka on rakennettu sen päälle Apache Spark puitteet. Se tarjoaa joitain moderneja datatoimintoja, jotka on kehitetty saumattomaan tiedonhallintaan. Delta Laken ytimessä on useita ominaisuuksia:

  • ACID-tapahtumat: Delta Lake takaa atomisuuden, johdonmukaisuuden, eristämisen ja kestävyyden perusperiaatteet kaikille käyttäjätietojen muutoksille, mikä takaa vankan ja kelvollisen datatoiminnan.
  • Schema Evolution: Joustavuus tulee pääasiassa mukana Delta-järvi, koska se tukee saumattomasti skeeman kehitystä, mikä mahdollistaa teollisuuden skeeman muuttamisen häiritsemättä olemassa olevia tietoputkia tuotannossa.
  • Aika matka: Aivan kuten aikamatkustus sci-fi-elokuvissa, delta Lake tarjoaa mahdollisuuden tiedustella tilannekuvia tietyllä hetkellä. Siten se tarjoaa käyttäjille mahdollisuuden sukeltaa kattavaan tietojen historialliseen analyysiin ja versiointiominaisuuksiin.
  • Optimoitu tiedostonhallinta: Delta Lake tukee vankkoja tekniikoita datatiedostojen ja metatietojen järjestämiseen ja hallintaan. Se johtaa optimoituun kyselyn suorituskykyyn ja alentaa tallennuskustannuksia.

Apache Icebergin ominaisuudet

Apache Iceberg tarjoaa kilpailukykyisen vaihtoehdon yrityksille, jotka etsivät parannettua datajärven hallintaratkaisua. Icebergs päihittää jotkin perinteiset formaatit, kuten Parquet tai ORC. On olemassa monia erottuvia etuja:

  • Schema Evolution: Käyttäjä voi hyödyntää skeeman kehitysominaisuutta suorittaessaan skeeman muutoksia ilman kalliita taulukon uudelleenkirjoituksia.
  • Tilannekuvan eristäminen: Iceberg tukee tilannekuvan eristämistä, mikä takaa johdonmukaisen lukemisen ja kirjoittamisen. Se helpottaa taulukoiden samanaikaisia ​​muutoksia vaarantamatta tietojen eheyttä.
  • Metatietojen hallinta: Tämä ominaisuus erottaa periaatteessa metatiedot datatiedostoista. Ja tallenna se omistettuun repoon, joka eroaa itse datatiedostoista. Se tekee niin parantaakseen suorituskykyä ja mahdollistaakseen tehokkaan metatietotoiminnan.
  • Osion karsiminen: Hyödyntämällä edistyneitä karsintatekniikoita, se optimoi kyselyn suorituskyvyn vähentämällä kyselyn suorittamisen aikana tarkistettavia tietoja.

Arkkitehtuurien vertaileva analyysi

Mennään syvemmälle arkkitehtuurien vertailevaan analyysiin:

Databricks Delta Lake -arkkitehtuuri

  • Tallennuskerros: Delta Lake hyödyntää pilvitallennusta, esimerkiksi Amazon S3, Azure Blob sen alla olevana tallennuskerroksena, joka koostuu sekä datatiedostoista että tapahtumalokeista.
  • Metatietojen hallinta: Metatiedot pysyvät tapahtumalokissa. Siten se johtaa tehokkaaseen metatietotoimintoihin ja takaa tietojen johdonmukaisuuden.
  • Optimointitekniikat: Delta Lake käyttää tonnia optimointitekniikat. Se sisältää tietojen ohituksen ja Z-järjestyksen kyselyn suorituskyvyn parantamiseksi ja tietojen skannauksen yleiskuormituksen vähentämiseksi.
Databricks Delta Lake -arkkitehtuuri

Apache Iceberg -arkkitehtuuri

  • Metatietojen erottelu: On eroa verrattuna Tietokannat metatietojen erottamisen datatiedostoista. Jäävuori tallentaa metatiedot datatiedostoista erilliseen arkistoon.
  • Tapahtumatuki: Tietojen eheyden ja luotettavuuden varmistamiseksi Icebergissä on vankka transaktioprotokolla. Tämä protokolla takaa atomiset ja johdonmukaiset taulukkotoiminnot.
  • Yhteensopivuus: Moottorit, kuten Apache Spark, Flink ja Presto, ovat helposti yhteensopivia Icebergin kanssa. Kehittäjät voivat joustavasti käyttää Icebergiä näiden reaaliaikaisten ja eräkäsittelykehysten kanssa.
Apache Iceberg -arkkitehtuuri

Liikkuminen siirtolaismaisemassa: huomioita ja parhaita käytäntöjä

Se vaatii valtavasti suunnittelua ja toteutusta siirtymisen toteuttamiseksi Databricks Delta Lakesta Apache Icebergiin. On otettava huomioon joitain huomioita, jotka ovat:

  • Schema Evolution: Delta Laken ja Icebergin skeemakehitysominaisuuden virheettömän yhteensopivuuden takaaminen johdonmukaisuuden säilyttämiseksi skeeman muutosten aikana.
  • Tiedonsiirto: Strategiat tulee kehittää ja ottaa käyttöön sellaisten tekijöiden kuten datamäärän, seisokkien vaatimusten ja tietojen johdonmukaisuuden kanssa.
  • Kyselyjen yhteensopivuus: Kannattaa tarkistaa Delta Laken ja Icebergin kyselyjen yhteensopivuus. Se johtaa sujuvaan siirtymiseen ja olemassa oleva kyselytoiminto säilyy myös siirron jälkeen.
  • Suorituskyky Testaus: Aloita laajat suorituskyky- ja regressiotestit kyselyn suorituskyvyn tarkistamiseksi. Resurssien käyttö kannattaa tarkistaa myös Icebergin ja Delta Laken välillä. Tällä tavalla potentiaaliset alueet voidaan tunnistaa optimointia varten.

Siirtoa varten kehittäjät voivat käyttää joitain ennalta määritettyjä koodirunkoja Iceberg- ja databricks-dokumentaatiosta ja toteuttaa ne. Vaiheet on mainittu alla, ja tässä käytetty kieli on Scala:

Vaihe 1: Luo Delta Lake -taulukko

Varmista ensimmäisessä vaiheessa, että S3-ämpäri on tyhjä ja vahvistettu, ennen kuin jatkat tietojen luomista siihen. Kun tietojen luontiprosessi on valmis, suorita seuraava tarkistus:

Vaihe 1: Luo Delta Lake -taulukko
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")
Luo Delta Lake -taulukko
Luo Delta Lake -taulukko

Valinnaisen tyhjiökoodin lisääminen

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

Vaihe 2: CTAS ja Delta Lake -taulukon lukeminen

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

Vaihe 3: Lue Delta Lake ja kirjoita jäävuoritaulukkoon

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)

Tarkista jäävuoritaulukoihin syötetyt tiedot kohdassa S3

Delta Laken lukeminen ja jäävuoritaulukkoon kirjoittaminen
Delta Laken lukeminen ja jäävuoritaulukkoon kirjoittaminen

Kolmannen osapuolen työkalujen vertailu yksinkertaisuuden, suorituskyvyn, yhteensopivuuden ja tuen suhteen. Kaksi työkalua eli. AWS Glue DataBrew ja Snowflake sisältävät omat toiminnot.

AWS Liima DataBrew

Siirtoprosessi:

  • Helppokäyttöinen: AWS Glue DataBrew on AWS-pilven alla tuote, joka tarjoaa käyttäjäystävällisen kokemuksen tietojen puhdistus- ja muunnostehtäviin.
  • Integraatio: Glue DataBrew voidaan integroida saumattomasti muihin Amazonin pilvipalveluihin. AWS:n kanssa työskentelevät organisaatiot voivat käyttää tätä palvelua.

Ominaisuussarja:

  • Tietojen muuntaminen: Sen mukana tulee suuri joukko ominaisuuksia tiedon muuntamiseen (EDA). Siitä voi olla hyötyä tiedonsiirron aikana.
  • Automaattinen profilointi: Kuten muutkin avoimen lähdekoodin työkalut, DataBrew profiloi tiedot automaattisesti. havaita epäjohdonmukaisuudet ja myös suositella muunnostehtäviä.

Suorituskyky ja yhteensopivuus:

  • skaalautuvuus: Glue DataBrew tarjoaa skaalautuvuuden myös siirron aikana kohdatavien suurempien tietojoukkojen käsittelyyn.
  • Yhteensopivuus: Se tarjoaa yhteensopivuuden laajempien muotojen ja tietolähteiden kanssa, mikä helpottaa integrointia erilaisiin tallennusratkaisuihin.

Lumihiutale

Siirtoprosessi:

  • Siirron helppous: Yksinkertaisuuden vuoksi Snowflakella on siirtopalvelut, jotka auttavat loppukäyttäjiä siirtymään olemassa olevista tietovarastoista Snowflake-alustalle.
  • Kattava dokumentaatio: Snowflake tarjoaa laajan dokumentaation ja runsaasti resursseja siirtoprosessin aloittamiseen.

Ominaisuussarja:

  • Tietovarastointiominaisuudet: Se tarjoaa laajemman joukon varastointiominaisuuksia ja tukee puolistrukturoitua dataa, tietojen jakamista ja tietojen hallintaa.
  • samanaikaisuuden: Arkkitehtuuri mahdollistaa korkean samanaikaisuuden, joka sopii organisaatioille, joilla on vaativia tietojenkäsittelyvaatimuksia.

Suorituskyky ja yhteensopivuus:

  • Suorituskyky: Snowflake on suorituskykyinen myös skaalautuvuuden suhteen, minkä ansiosta loppukäyttäjät voivat käsitellä valtavia tietomääriä helposti.
  • Yhteensopivuus: Snowflake tarjoaa myös erilaisia ​​liittimiä eri tietolähteille, mikä takaa ristiinyhteensopivuuden erilaisten dataekosysteemien kanssa.
"

Yhteenveto

Datajärven ja varastonhallinnan työnkulkujen optimoimiseksi ja liiketoiminnan tulosten saamiseksi siirtymä on organisaatioille elintärkeä. Toimialat voivat hyödyntää molempia alustoja ominaisuuksien ja arkkitehtonisten ja teknisten erojen suhteen ja päättää, mitkä valitsevat hyödyntääkseen tietojoukkojensa maksimaalisen potentiaalin. Se auttaa organisaatioita myös pitkällä aikavälillä. Dynaamisesti ja nopeasti muuttuvassa tietoympäristössä innovatiiviset ratkaisut voivat pitää organisaatiot kärjessä.

Keskeiset ostokset

  • Apache Iceberg tarjoaa upeita ominaisuuksia, kuten tilannekuvan eristyksen, tehokkaan metatietojen hallinnan ja osion karsimisen, mikä parantaa datajärven hallintaominaisuuksia.
  • Apache Icebergiin siirtyminen edellyttää varovaista suunnittelua ja toteutusta. Organisaatioiden tulee ottaa huomioon sellaiset tekijät kuin skeeman kehitys, tiedonsiirtostrategiat ja kyselyjen yhteensopivuus.
  • Databricks Delta Lake hyödyntää pilvitallennusta taustalla olevana tallennuskerroksena, joka tallentaa datatiedostoja ja tapahtumalokeja, kun taas Iceberg erottaa metatiedot datatiedostoista, mikä parantaa suorituskykyä ja skaalautuvuutta.
  • Organisaatioiden tulee myös ottaa huomioon taloudelliset vaikutukset, kuten tallennuskustannukset, laskentamaksut, lisenssimaksut ja mahdolliset siirtymiseen tarvittavat ad hoc -resurssit.

Usein kysytyt kysymykset

Q1. Kuinka siirtyminen Databricks Delta Lakesta Apache Icebergiin suoritetaan?

V. Se sisältää tietojen viemisen Databricks Delta Lakesta, puhdistamisen tarvittaessa ja tuomisen sitten Apache Iceberg -taulukoihin.

Q2. Onko saatavilla automaattisia työkaluja, jotka auttavat siirtoa ilman manuaalisia toimia?

V. Organisaatiot käyttävät yleensä mukautettuja python/Scala-skriptejä ja ETL-työkaluja tämän työnkulun rakentamiseen.

Q3. Mitä yhteisiä haasteita organisaatiot kohtaavat muuttoliikkeen aikana?

V. Joitakin erittäin todennäköisiä haasteita ovat tietojen johdonmukaisuus, skeeman kehityserojen käsittely ja suorituskyvyn optimointi siirron jälkeen.

Q4. Mitä eroa on Apache Icebergin ja muiden pöytämuotojen, kuten Parquet tai ORC, välillä?

A. Apache Iceberg tarjoaa ominaisuuksia, kuten skeeman evoluution, tilannekuvan eristämisen ja tehokkaan metatietojen hallinnan, mikä eroaa Parquetista ja ORC:stä.

Q5. Voimmeko käyttää Apache Icebergiä pilvipohjaisten tallennusratkaisujen kanssa?

V. Varmasti Apache Iceberg on yhteensopiva yleisesti käytettyjen pilvipohjaisten tallennusratkaisujen, kuten AWS S3:n, Azure Blob Storagen ja Google Cloud Storagen kanssa.

Tässä artikkelissa näkyvä media ei ole Analytics Vidhyan omistuksessa, ja sitä käytetään tekijän harkinnan mukaan.

spot_img

Uusin älykkyys

spot_img