Apache jäävuori on avoin taulukkomuoto erittäin suurille analyyttisille tietojoukoille, joka kaappaa metatietotietoja tietojoukkojen tilasta niiden kehittyessä ja muuttuessa ajan myötä. Se lisää taulukoita laskentamoottoreihin, kuten Spark, Trino, PrestoDB, Flink ja Hive, käyttämällä tehokasta taulukkomuotoa, joka toimii aivan kuten SQL-taulukko. Iceberg on tullut erittäin suosituksi sen tuesta ACID-tapahtumille datajärvissä ja ominaisuuksista, kuten skeeman ja osion evoluutio, aikamatka ja palautus.
Apache Iceberg -integraatiota tukevat AWS-analytiikkapalvelut, mukaan lukien Amazonin EMR, Amazon Athenaja AWS-liima. Amazon EMR voi tarjota klustereita Sparkilla, Hivellä, Trinolla ja Flinkillä, jotka voivat ajaa Icebergiä. Amazon EMR -versiosta 6.5.0 alkaen voit käytä Icebergiä EMR-klusterin kanssa ilman bootstrap-toimintoa. Vuoden 2022 alussa AWS ilmoitti Apache Icebergin tuottamien Athena ACID -tapahtumien yleisestä saatavuudesta. Äskettäin julkaistu Athena-kyselymoottorin versio 3 tarjoaa paremman integraation Iceberg-taulukkomuotoon. AWS Glue 3.0 ja uudemmat tukee Apache Iceberg -kehystä datajärville.
Tässä viestissä keskustelemme siitä, mitä asiakkaat haluavat moderneilta datajärviltä ja kuinka Apache Iceberg auttaa vastaamaan asiakkaiden tarpeisiin. Sitten käymme läpi ratkaisun, jolla voimme rakentaa tehokkaan ja kehittyvän Iceberg-tietojärven Amazonin yksinkertainen tallennuspalvelu (Amazon S3) ja prosessoi inkrementaalista dataa suorittamalla insert-, update- ja delete SQL-käskyjä. Lopuksi näytämme, kuinka prosessia voidaan virittää suorituskyvyn parantamiseksi luku- ja kirjoitussuorituskyvyn parantamiseksi.
Kuinka Apache Iceberg vastaa asiakkaiden tarpeisiin nykyaikaisissa datajärvissä
Yhä useammat asiakkaat rakentavat datajärviä, joissa on jäsenneltyä ja strukturoimatonta dataa, tukeakseen monia käyttäjiä, sovelluksia ja analytiikkatyökaluja. Datajärvien tarve on kasvanut tukemaan tietokantaominaisuuksia, kuten ACID-tapahtumia, ennätystason päivityksiä ja poistoja, aikamatkailua ja palautusta. Apache Iceberg on suunniteltu tukemaan näitä ominaisuuksia Amazon S3:n kustannustehokkaissa petatavun mittakaavassa datajärvissä.
Apache Iceberg vastaa asiakkaiden tarpeisiin keräämällä runsaasti metatietoa tietojoukosta, kun yksittäiset tiedostot luodaan. Iceberg-taulukon arkkitehtuurissa on kolme kerrosta: Iceberg-luettelo, metatietokerros ja tietokerros, kuten seuraavassa kuvassa (lähde).
Iceberg-luettelo tallentaa metatietoosoittimen nykyiseen taulukon metatietotiedostoon. Kun valittu kysely lukee Iceberg-taulukkoa, kyselykone siirtyy ensin Iceberg-luetteloon ja hakee sitten nykyisen metatietotiedoston sijainnin. Aina kun Iceberg-taulukkoon tulee päivitys, taulukosta luodaan uusi tilannekuva ja metatietoosoitin osoittaa nykyiseen taulukon metatietotiedostoon.
Seuraava on esimerkki Iceberg-luettelosta AWS Glue -toteutuksen kanssa. Näet tietokannan nimen, Iceberg-taulukon sijainnin (S3-polun) ja metatietojen sijainnin.
Metatietokerroksessa on kolmen tyyppisiä tiedostoja: metatietotiedosto, luetteloluettelo ja luettelotiedosto hierarkiassa. Hierarkian yläosassa on metatietotiedosto, joka tallentaa tiedot taulukon skeemasta, osiotiedot ja tilannevedokset. Tilannekuva osoittaa luetteloluetteloon. Luetteloluettelossa on tiedot kustakin tilannevedoksen muodostavasta luettelotiedostosta, kuten luettelotiedoston sijainti, osiot, joihin se kuuluu, sekä osiosarakkeiden ala- ja ylärajat sen jäljittämille tiedostoille. Luettelotiedosto seuraa datatiedostoja sekä kunkin tiedoston lisätietoja, kuten tiedostomuotoa. Kaikki kolme tiedostoa toimivat hierarkiassa seuratakseen tilannekuvia, skeemaa, osiointia, ominaisuuksia ja datatiedostoja Iceberg-taulukossa.
Tietokerroksessa on Iceberg-taulukon yksittäiset datatiedostot. Iceberg tukee laajaa valikoimaa tiedostomuotoja, kuten Parquet, ORC ja Avro. Koska Iceberg-taulukko seuraa yksittäisiä datatiedostoja sen sijaan, että osoittaisi vain osion sijaintiin datatiedostoilla, se eristää kirjoitustoiminnot lukutoiminnoista. Voit kirjoittaa datatiedostoja milloin tahansa, mutta hyväksy muutoksen vain erikseen, jolloin tilannekuva- ja metatietotiedostoista luodaan uusi versio.
Ratkaisun yleiskatsaus
Tässä viestissä opastamme sinut läpi ratkaisun tehokkaan Apache Iceberg -datajärven rakentamiseen Amazon S3:lle; käsitellä lisätietoa lisäämällä, päivittämällä ja poistamalla SQL-käskyjä; ja viritä Iceberg-pöytä parantaaksesi luku- ja kirjoitussuorituskykyä. Seuraava kaavio havainnollistaa ratkaisun arkkitehtuuria.
Tämän ratkaisun osoittamiseksi käytämme Amazonin asiakasarvostelut tietojoukko S3-säihissä (s3://amazon-reviews-pds/parquet/
). Todellisessa käyttötapauksessa se olisi S3-ämpäriisi tallennettua raakadataa. Voimme tarkistaa tietojen koon seuraavalla koodilla AWS-komentoriviliitäntä (AWS CLI):
Kohteiden kokonaismäärä on 430 ja kokonaiskoko 47.4 GiB.
Tämän ratkaisun määrittämiseksi ja testaamiseksi suoritamme seuraavat korkean tason vaiheet:
- Aseta kuratoidulle alueelle S3-säilö tallentaaksesi muunnetut tiedot Iceberg-taulukkomuodossa.
- Käynnistä EMR-klusteri sopivilla kokoonpanoilla Apache Icebergille.
- Luo muistikirja EMR Studiossa.
- Määritä Spark-istunto Apache Icebergille.
- Muunna tiedot Iceberg-taulukkomuotoon ja siirrä tiedot kuratoidulle vyöhykkeelle.
- Suorita lisäys-, päivitys- ja poistokyselyt Athenassa käsitelläksesi lisätietoja.
- Suorita suorituskyvyn viritys.
Edellytykset
Jotta voit seurata tätä ohjetta, sinulla on oltava AWS-tili kanssa AWS-henkilöllisyyden ja käyttöoikeuksien hallinta (IAM) rooli, jolla on riittävä pääsy tarvittavien resurssien tarjoamiseen.
Aseta S3-ämpäri Iceberg-datalle datajärvesi kuratoidulle vyöhykkeelle
Valitse alue, johon haluat luoda S3-ämpäri, ja anna yksilöllinen nimi:
Käynnistä EMR-klusteri suorittaaksesi Iceberg-töitä Sparkilla
Voit luoda EMR-klusterin AWS-hallintakonsoli, Amazon EMR CLI tai AWS Cloud Development Kit (AWS CDK). Tässä viestissä opastamme sinut EMR-klusterin luomiseen konsolista.
- Valitse Amazon EMR -konsolista Luo klusteri.
- Valita Lisäasetukset.
- varten Ohjelmistotuotteen, valitse uusin Amazon EMR -julkaisu. Tammikuussa 2023 uusin versio on 6.9.0. Iceberg vaatii julkaisun 6.5.0 ja uudemmat.
- valita JupyterEnterpriseGateway ja Kipinä asennettavana ohjelmistona.
- varten Muokkaa ohjelmiston asetuksiavalitse Anna kokoonpano ja kirjoita
[{"classification":"iceberg-defaults","properties":{"iceberg.enabled":true}}]
. - Jätä muut asetukset oletusarvoiksi ja valitse seuraava.
- varten Tarvikkeet, käytä oletusasetusta.
- Valita seuraava.
- varten Ryhmän nimi, anna nimi. Käytämme
iceberg-blog-cluster
. - Jätä loput asetukset ennalleen ja valitse seuraava.
- Valita Luo klusteri.
Luo muistikirja EMR Studiossa
Nyt opastamme sinua luomaan muistikirjan EMR Studiossa konsolista.
- IAM-konsolissa luo EMR Studio -palvelurooli.
- Valitse Amazon EMR -konsolista EMR-studio.
- Valita Aloita.
- Aloita sivu tulee näkyviin uuteen välilehteen.
- Valita Luo Studio uudessa välilehdessä.
- Kirjoita nimi. Käytämme jäävuoristudiota.
- Valitse sama VPC ja aliverkko kuin EMR-klusterille ja oletussuojausryhmä.
- Valita AWS-identiteetin ja käyttöoikeuksien hallinta (IAM) todennusta varten ja valitse juuri luomasi EMR Studio -palvelurooli.
- Valitse S3-polku Työtilojen varmuuskopio.
- Valita Luo Studio.
- Kun Studio on luotu, valitse Studion käyttöoikeuden URL-osoite.
- Valitse EMR Studion kojelaudassa Luo työtila.
- Anna työtilallesi nimi. Käytämme
iceberg-workspace
. - Laajentaa Lisäasetukset Ja valitse Liitä työtila EMR-klusteriin.
- Valitse aiemmin luomasi EMR-klusteri.
- Valita Luo työtila.
- Valitse työtilan nimi avataksesi uuden välilehden.
Navigointiruudussa on muistikirja, jolla on sama nimi kuin työtilalla. Meidän tapauksessamme se on jäävuori-työtila.
- Avaa muistikirja.
- Kun sinua kehotetaan valitsemaan ydin, valitse Kipinä.
Määritä Spark-istunto Apache Icebergille
Käytä seuraavaa koodia ja anna oma S3-ämpärisi nimi:
Tämä määrittää seuraavat Spark-istunnon kokoonpanot:
- spark.sql.catalog.demo – Rekisteröi Spark-luettelon nimeltä demo, joka käyttää Iceberg Spark -luettelolaajennusta.
- spark.sql.catalog.demo.catalog-impl – Demo Spark -luettelo käyttää AWS Glue -liimaa fyysisenä luettelona Iceberg-tietokannan ja taulukkotietojen tallentamiseen.
- spark.sql.catalog.demo.warehouse – Demo Spark -luettelo tallentaa kaikki Icebergin metatiedot ja datatiedostot tämän ominaisuuden määrittämän juuripolun alle:
s3://iceberg-curated-blog-data
. - spark.sql.extensions – Lisää tuen Iceberg Spark SQL -laajennuksiin, jonka avulla voit suorittaa Iceberg Spark -proseduureja ja joitain vain Icebergin SQL-komentoja (käytät tätä myöhemmässä vaiheessa).
- spark.sql.catalog.demo.io-impl - Iceberg antaa käyttäjien kirjoittaa tietoja Amazon S3:een S3FileIO:n kautta. AWS-liimatietokatalogi käyttää oletuksena tätä FileIO:ta, ja muut luettelot voivat ladata tämän FileIO:n io-impl-luetteloominaisuudella.
Muunna tiedot Iceberg-taulukkomuotoon
Voit ladata Iceberg-taulukon joko Sparkilla Amazon EMR:llä tai Athenalla. Lataa tiedot suorittamalla EMR Studio Workspace -muistikirjan Spark-istunnossa seuraavat komennot:
Kun olet suorittanut koodin, sinun pitäisi löytää kaksi etuliitettä, jotka on luotu tietovaraston S3-polussa (s3://iceberg-curated-blog-data/reviews.db/all_reviews
): tiedot ja metatiedot.
Käsittele lisätietoa lisäämällä, päivittämällä ja poistamalla SQL-käskyjä Athenassa
Athena on palvelimeton kyselymoottori, jonka avulla voit suorittaa luku-, kirjoitus-, päivitys- ja optimointitehtäviä Iceberg-taulukoita vastaan. Havainnollistaaksemme, kuinka Apache Iceberg -datajärvi-muoto tukee inkrementaalista tiedonkeruuta, suoritamme lisäys-, päivitys- ja poistolausekkeet datajärvellä.
Siirry Athena-konsoliin ja valitse Kyselyeditori. Jos tämä on ensimmäinen kerta, kun käytät Athena-kyselyeditoria, sinun on käytettävä sitä määritä kyselyn tulosten sijainti olla aiemmin luomasi S3-ämpäri. Sinun pitäisi nähdä, että taulukko reviews.all_reviews on käytettävissä kyselyjä varten. Suorita seuraava kysely varmistaaksesi, että olet ladannut Iceberg-taulukon onnistuneesti:
Käsittele lisätietoa suorittamalla insert-, päivitys- ja poistolausekkeet:
Suorituskyvyn viritys
Tässä osiossa käymme läpi erilaisia tapoja parantaa Apache Icebergin luku- ja kirjoitussuorituskykyä.
Määritä Apache Iceberg -taulukon ominaisuudet
Apache Iceberg on taulukkomuoto, ja se tukee taulukon ominaisuuksia taulukon toiminnan, kuten lukemisen, kirjoittamisen ja luetteloinnin, määrittämiseen. Voit parantaa Iceberg-taulukoiden luku- ja kirjoitussuorituskykyä säätämällä taulukon ominaisuuksia.
Jos esimerkiksi huomaat, että kirjoitat liian monia pieniä tiedostoja Iceberg-taulukkoon, voit määrittää kirjoitustiedoston koon kirjoittamaan vähemmän mutta suurempia tiedostoja kyselyn suorituskyvyn parantamiseksi.
Omaisuus | oletusarvo | Kuvaus |
write.target-file-size-bytes | 536870912 (512 MB) | Ohjaa noin näin monta tavua kohdennettavien tiedostojen kokoa |
Käytä seuraavaa koodia muuttaaksesi taulukon muotoa:
Osiointi ja lajittelu
Jotta kysely toimisi nopeasti, mitä vähemmän dataa luetaan, sitä parempi. Iceberg hyödyntää rikasta metadataa, jonka se kaappaa kirjoitusaikana, ja helpottaa tekniikoita, kuten skannauksen suunnittelua, osiointia, karsimista ja saraketason tilastoja, kuten min/max-arvoja, ohittaakseen tiedostot, joissa ei ole täsmäämistietueita. Opastamme, kuinka kyselyskannauksen suunnittelu ja osiointi toimivat Icebergissä ja kuinka käytämme niitä kyselyn suorituskyvyn parantamiseen.
Kyselyskannauksen suunnittelu
Tietyn kyselyn ensimmäinen vaihe kyselykoneessa on skannauksen suunnittelu, joka on prosessi, jossa etsitään kyselyä varten tarvittavat tiedostot taulukosta. Suunnittelu Iceberg-taulukossa on erittäin tehokasta, koska Icebergin rikkaiden metatietojen avulla voidaan karsia tarpeettomia metatietotiedostoja ja suodattaa datatiedostoja, jotka eivät sisällä vastaavia tietoja. Testeissämme havaitsimme, että Athena skannaa 50 % tai vähemmän dataa tietylle kyselylle Iceberg-taulukossa verrattuna alkuperäisiin tietoihin ennen muuntamista Iceberg-muotoon.
Suodatusta on kahta tyyppiä:
- Metatietojen suodatus – Iceberg käyttää kahta metatietotasoa tiedostojen seuraamiseen tilannekuvassa: luetteloluettelo ja luettelotiedostot. Se käyttää ensin luetteloa, joka toimii luettelotiedostojen hakemistona. Suunnittelun aikana Iceberg suodattaa luettelot käyttämällä luetteloluettelon osion arvoaluetta lukematta kaikkia luettelotiedostoja. Sitten se käyttää valittuja luettelotiedostoja datatiedostojen hakemiseen.
- Tietojen suodatus – Valittuaan luettelotiedostojen luettelon Iceberg käyttää kunkin luettelotiedostoihin tallennetun datatiedoston osiotietoja ja saraketason tilastoja datatiedostojen suodattamiseen. Suunnittelun aikana kyselypredikaatit muunnetaan osion tietojen predikaatteiksi ja niitä käytetään ensin suodattamaan datatiedostoja. Sitten saraketilastoja, kuten saraketason arvolaskuja, nollalukuja, alarajoja ja ylärajoja, käytetään suodattamaan pois datatiedostot, jotka eivät vastaa kyselypredikaattia. Käyttämällä ylä- ja alarajoja datatiedostojen suodattamiseen suunnitteluaikana Iceberg parantaa huomattavasti kyselyn suorituskykyä.
Osiointi ja lajittelu
Osiointi on tapa ryhmitellä tietueita, joilla on samat avainsarakearvot, yhteen kirjallisesti. Osioinnin etuna on nopeammat kyselyt, jotka käyttävät vain osaa tiedoista, kuten aiemmin selitettiin kyselyn tarkistuksen suunnittelussa: tietojen suodatus. Iceberg tekee osioinnin yksinkertaiseksi tukemalla piilotettua osiointia samalla tavalla kuin Iceberg tuottaa osioarvot ottamalla sarakkeen arvon ja valinnaisesti muuntamalla sen.
Käyttötapauksessamme suoritamme ensin seuraavan kyselyn Iceberg-taulukossa, jota ei ole osioitu. Sitten osiimme Iceberg-taulukon arvostelujen luokan mukaan, jota käytetään kyselyn WHERE-ehdossa tietueiden suodattamiseen. Osioiden avulla kysely voisi skannata paljon vähemmän tietoja. Katso seuraava koodi:
Suorita seuraava Select-lauseke osittamattomassa all_reviews-taulukossa vs. osioidussa taulukossa nähdäksesi suorituskyvyn eron:
Seuraavassa taulukossa näkyy tietojen osioinnin suorituskyvyn parantuminen noin 50 % suorituskyvyn parannuksella ja 70 % vähemmän skannattulla datalla.
Tietojoukon nimi | Osioimaton tietojoukko | Osioitu tietojoukko |
Kesto (sekuntia) | 8.20 | 4.25 |
Skannatut tiedot (MB) | 131.55 | 33.79 |
Huomaa, että suoritusaika on keskimääräinen ajoaika, jossa testissämme on useita ajoja.
Näimme hyvää suorituskykyä parantuneen osioinnin jälkeen. Tätä voidaan kuitenkin parantaa edelleen käyttämällä saraketason tilastoja Iceberg-luettelotiedostoista. Jotta voit käyttää saraketason tilastoja tehokkaasti, haluat lajitella tietueitasi kyselymallien perusteella. Koko tietojoukon lajitteleminen kyselyissä usein käytettyjen sarakkeiden avulla järjestää tiedot uudelleen siten, että jokainen tiedosto päätyy yksilölliseen arvoalueeseen tietyille sarakkeille. Jos näitä sarakkeita käytetään kyselytilassa, kyselykoneet voivat edelleen ohittaa datatiedostoja, mikä mahdollistaa entistä nopeammat kyselyt.
Kopiointi-kirjoitus vs. luku-on-yhdistäminen
Kun päivitys ja poistaminen toteutetaan Iceberg-taulukoissa datajärvessä, Iceberg-taulukon ominaisuudet määrittelevät kaksi lähestymistapaa:
- Kopioi-on-write – Tällä lähestymistavalla, kun Iceberg-taulukkoon tehdään muutoksia, joko päivityksiä tai poistoja, kyseisiin tietueisiin liittyvät datatiedostot monistetaan ja päivitetään. Tietueet joko päivitetään tai poistetaan kopioiduista tiedostoista. Iceberg-taulukosta luodaan uusi tilannekuva, joka osoittaa datatiedostojen uudempaan versioon. Tämä hidastaa yleistä kirjoittamista. Saattaa olla tilanteita, joissa tarvitaan samanaikaisia kirjoituksia ja ristiriitoja, joten uudelleenyritys on tehtävä, mikä lisää kirjoitusaikaa entisestään. Toisaalta dataa luettaessa ei tarvita ylimääräistä prosessia. Kysely hakee tiedot datatiedostojen uusimmasta versiosta.
- Yhdistä lukemiseen – Tällä lähestymistavalla, kun Iceberg-taulukossa on päivityksiä tai poistoja, olemassa olevia datatiedostoja ei kirjoiteta uudelleen. sen sijaan luodaan uusia poistotiedostoja muutosten seuraamiseksi. Poistoja varten luodaan uusi poistotiedosto poistetuista tietueista. Kun luet Iceberg-taulukkoa, poistotiedostoa sovelletaan haettuun tietoon poistotietueiden suodattamiseksi. Päivityksiä varten luodaan uusi poistotiedosto, joka merkitsee päivitetyt tietueet poistetuiksi. Sitten näille tietueille luodaan uusi tiedosto päivitetyillä arvoilla. Kun luet Iceberg-taulukkoa, sekä poisto- että uudet tiedostot otetaan käyttöön haetuissa tiedoissa, jotta ne heijastavat viimeisimmät muutokset ja tuottavat oikeat tulokset. Joten kaikissa myöhemmissä kyselyissä tapahtuu ylimääräinen vaihe datatiedostojen yhdistämiseksi poistettujen ja uusien tiedostojen kanssa, mikä yleensä pidentää kyselyn aikaa. Toisaalta kirjoittaminen saattaa olla nopeampaa, koska olemassa olevia datatiedostoja ei tarvitse kirjoittaa uudelleen.
Voit testata näiden kahden lähestymistavan vaikutusta suorittamalla seuraavan koodin Iceberg-taulukon ominaisuuksien määrittämiseksi:
Suorita päivitys, poista ja valitse SQL-käskyt Athenassa näyttääksesi ajonaikaisen eron kirjoitettaessa kopiointia ja yhdistämistä luettaessa:
Seuraavassa taulukossa on yhteenveto kyselyn suoritusajoista.
Kysymys | Kopioi kirjoittamiseen | Yhdistä lukemiseen | ||||
PÄIVITYS | POISTA | VALITSE | PÄIVITYS | POISTA | VALITSE | |
Kesto (sekuntia) | 66.251 | 116.174 | 97.75 | 10.788 | 54.941 | 113.44 |
Skannatut tiedot (Mt) | 494.06 | 3.07 | 137.16 | 494.06 | 3.07 | 137.16 |
Huomaa, että suoritusaika on keskimääräinen ajoaika, jossa testissämme on useita ajoja.
Kuten testituloksemme osoittavat, näissä kahdessa lähestymistavassa on aina kompromisseja. Käyttämäsi lähestymistapa riippuu käyttötapauksistasi. Yhteenvetona voidaan todeta, että huomiot liittyvät luku- ja kirjoitusviiveeseen. Voit viitata seuraavaan taulukkoon ja tehdä oikean valinnan.
. | Kopioi kirjoittamiseen | Yhdistä lukemiseen |
Plussat | Nopeampaa lukemista | Nopeampi kirjoittaa |
MIINUKSET | kalliita kirjoituksia | Korkeampi lukuviive |
Milloin käyttää | Sopii usein lukemiseen, harvoin päivityksiin ja poistoihin tai suuriin eräpäivityksiin | Sopii taulukoille, joissa on usein päivityksiä ja poistoja |
Tietojen tiivistäminen
Jos datatiedostosi koko on pieni, saatat päätyä tuhansiin tai miljooniin tiedostoja Iceberg-taulukkoon. Tämä lisää dramaattisesti I/O-toimintaa ja hidastaa kyselyitä. Lisäksi Iceberg seuraa jokaista datatiedostoa tietojoukossa. Lisää datatiedostoja tuo enemmän metadataa. Tämä puolestaan lisää metatietotiedostojen lukemisen yleiskustannuksia ja I/O-toimintoja. Kyselyn suorituskyvyn parantamiseksi on suositeltavaa tiivistää pienet tiedostot suuremmiksi tiedostoiksi.
Kun päivität ja poistat Iceberg-taulukon tietueita, jos käytetään luku-yhdistämismenetelmää, saatat päätyä moniin pieniin poistoihin tai uusiin datatiedostoihin. Pakkauksen suorittaminen yhdistää kaikki nämä tiedostot ja luo datatiedostosta uudemman version. Tämä eliminoi tarpeen sovittaa niitä lukemisen aikana. On suositeltavaa tehdä säännöllisiä tiivistystöitä, jotta lukuihin saadaan vaikuttamaan mahdollisimman vähän ja samalla säilytetään nopeampi kirjoitusnopeus.
Suorita seuraava tietojen tiivistyskomento ja suorita sitten Athenan valintakysely:
Seuraavassa taulukossa verrataan suoritusaikaa ennen tietojen pakkaamista ja sen jälkeen. Näet noin 40 % suorituskyvyn parannuksen.
Kysymys | Ennen tietojen tiivistämistä | Tietojen tiivistämisen jälkeen |
Kesto (sekuntia) | 97.75 | 32.676 sekuntia |
Skannatut tiedot (Mt) | 137.16 M | 189.19 M |
Huomaa, että valintakyselyt suoritettiin all_reviews
taulukko päivitys- ja poistotoimintojen jälkeen, ennen ja jälkeen tietojen pakkaamisen. Suoritusaika on keskimääräinen ajoaika, jossa testissämme on useita ajoja.
Puhdistaa
Kun olet noudattanut ratkaisun esittelyä käyttötapausten suorittamiseksi, suorita seuraavat vaiheet puhdistaaksesi resurssit ja välttääksesi lisäkustannukset:
- Pudota AWS Glue -taulukot ja -tietokanta Athenesta tai suorita seuraava koodi muistikirjassasi:
- Valitse EMR Studio -konsolissa työtilat navigointipaneelissa.
- Valitse luomasi työtila ja valitse Poista.
- Siirry EMR-konsolissa kohtaan Studios sivu.
- Valitse luomasi Studio ja valitse Poista.
- Valitse EMR-konsolissa Klusterit navigointipaneelissa.
- Valitse klusteri ja valitse lopettaa.
- Poista S3-säilö ja muut resurssit, jotka loit osana tämän viestin edellytyksiä.
Yhteenveto
Tässä viestissä esittelimme Apache Iceberg -kehyksen ja kuinka se auttaa ratkaisemaan joitain haasteita, joita meillä on nykyaikaisessa datajärvessä. Sitten esitimme sinulle ratkaisun, jolla voit käsitellä inkrementaalista dataa datajärvessä Apache Icebergin avulla. Lopuksi sukelsimme syvälle suorituskyvyn viritykseen parantaaksemme luku- ja kirjoitussuorituskykyämme käyttötapauksissamme.
Toivomme, että tämä viesti tarjoaa hyödyllistä tietoa, jotta voit päättää, haluatko ottaa Apache Icebergin käyttöön data Lake -ratkaisussasi.
Tietoja Tekijät
Flora Wu on Sr. Resident Architect AWS Data Labissa. Hän auttaa yritysasiakkaita luomaan data-analytiikkastrategioita ja rakentamaan ratkaisuja, jotka nopeuttavat liiketoimintansa tuloksia. Vapaa-ajallaan hän pelaa tennistä, tanssii salsaa ja matkustaa.
Daniel Li on vanhempi ratkaisuarkkitehti Amazon Web Servicesissä. Hän keskittyy auttamaan asiakkaita kehittämään, ottamaan käyttöön ja toteuttamaan pilvipalveluita ja strategiaa. Kun hän ei ole töissä, hän viettää mielellään aikaa ulkona perheensä kanssa.
- SEO-pohjainen sisällön ja PR-jakelu. Vahvista jo tänään.
- Platoblockchain. Web3 Metaverse Intelligence. Tietoa laajennettu. Pääsy tästä.
- Lähde: https://aws.amazon.com/blogs/big-data/use-apache-iceberg-in-a-data-lake-to-support-incremental-data-processing/
- 10
- 100
- 11
- 2022
- 2023
- 7
- 9
- a
- pystyy
- Meistä
- edellä
- kiihdyttää
- pääsy
- käyttöoikeuksien hallinta
- Toiminta
- säädökset
- Lisäksi
- lisä-
- osoite
- osoitteet
- Lisää
- hyväksyä
- Etu
- Jälkeen
- vastaan
- Kaikki
- mahdollistaa
- aina
- Amazon
- Amazonin EMR
- Amazon Web Services
- Analyyttinen
- Analytics
- ja
- ilmoitti
- Apache
- sovellukset
- sovellettu
- lähestymistapa
- lähestymistavat
- sopiva
- arkkitehtuuri
- liittyvä
- Authentication
- saatavuus
- saatavissa
- keskimäärin
- välttää
- AWS
- AWS-liima
- perustua
- koska
- tulevat
- ennen
- hyödyttää
- Paremmin
- välillä
- suurempi
- Bootstrap
- rakentaa
- Rakentaminen
- yritykset
- kaappaa
- Kaappaaminen
- tapaus
- tapauksissa
- luettelo
- luettelot
- Kategoria
- haasteet
- muuttaa
- Muutokset
- tarkastaa
- valinta
- Valita
- luokittelu
- pilvi
- pilvipalvelut
- Cluster
- koodi
- Sarake
- Pylväät
- yhdistää
- Tulla
- sitoutumaan
- verrattuna
- täydellinen
- Laskea
- samanaikainen
- ehto
- kokoonpanot
- näkökohdat
- Console
- Muuntaminen
- muunnetaan
- kustannustehokas
- kustannukset
- voisi
- luoda
- luotu
- luo
- kuratoitu
- Nykyinen
- asiakas
- Asiakkaat
- tanssi
- kojelauta
- tiedot
- Data Analytics
- Datajärvi
- tietojenkäsittely
- tietovarasto
- tietokanta
- aineistot
- syvä
- syväsukellus
- oletusarvo
- määritelty
- esittely
- osoittaa
- riippuu
- suunniteltu
- yksityiskohdat
- kehittää
- Kehitys
- ero
- eri
- pohtia
- Dont
- alas
- dramaattisesti
- Pudota
- aikana
- kukin
- Aikaisemmin
- Varhainen
- toimittaja
- tehokkaasti
- tehokas
- myöskään
- eliminoi
- käytössä
- mahdollistaa
- päättyy
- Moottori
- Moottorit
- enter
- yritys
- yritysasiakkaat
- Eetteri (ETH)
- Jopa
- evoluutio
- kehittää
- kehittyvä
- esimerkki
- olemassa
- olemassa
- selitti
- laajennukset
- lisää
- Helpottaa
- perhe
- FAST
- nopeampi
- Ominaisuudet
- Kuva
- filee
- Asiakirjat
- suodattaa
- suodatus
- suodattimet
- Vihdoin
- Löytää
- Etunimi
- ensimmäistä kertaa
- keskittyy
- seurata
- jälkeen
- muoto
- Puitteet
- tiheä
- alkaen
- edelleen
- Lisäksi
- general
- syntyy
- saada
- tietty
- Goes
- hyvä
- suuresti
- Ryhmä
- käsi
- tapahtua
- auttaa
- auttaa
- auttaa
- kätketty
- hierarkia
- korkean tason
- korkea suorituskyky
- suorituskykyinen
- Hive
- toivoa
- Miten
- Miten
- Kuitenkin
- HTML
- HTTPS
- IAM
- Identiteetti
- identiteetin ja pääsyn hallinta
- Vaikutus
- vaikutti
- toteuttaa
- täytäntöönpano
- täytäntöönpanosta
- parantaa
- parani
- parannus
- parantaa
- in
- Mukaan lukien
- Kasvaa
- kasvoi
- Lisäykset
- indeksi
- henkilökohtainen
- tiedot
- asentaa
- sen sijaan
- integraatio
- käyttöön
- isolaatteja
- IT
- tammikuu
- Työpaikat
- avain
- laboratorio
- järvi
- suuri
- suurempi
- Viive
- uusin
- Viimeisin julkaisu
- kerros
- kerrokset
- johtaa
- tasot
- RAJOITA
- linja
- Lista
- vähän
- kuormitus
- sijainti
- tehdä
- TEE
- johto
- monet
- Merkitse
- markkinat
- ottelu
- matching
- mennä
- Metadata
- ehkä
- miljoonia
- Moderni
- lisää
- liikkua
- moninkertainen
- nimi
- nimetty
- Navigoida
- suunnistus
- Tarve
- tarvitaan
- tarpeet
- Uusi
- muistikirja
- objekti
- avata
- toiminta
- Operations
- optimointi
- Optimoida
- tilata
- alkuperäinen
- Muut
- ulkona
- yleinen
- oma
- lasi
- osa
- polku
- kuviot
- suorittaa
- suorituskyky
- fyysinen
- suunnittelu
- Platon
- Platonin tietotieto
- PlatonData
- pelaa
- kytkeä
- pistettä
- Suosittu
- mahdollinen
- Kirje
- powered
- edellytyksiä
- menettelyt
- prosessi
- käsittely
- tuottaa
- ominaisuudet
- omaisuus
- toimittaa
- tarjoaa
- tarjoamalla
- säännös
- alue
- raaka
- raakadata
- Lue
- Lukeminen
- todellinen
- äskettäin
- suositeltu
- asiakirjat
- heijastaa
- alue
- rekisterit
- säännöllinen
- vapauta
- julkaistu
- jäljellä oleva
- tarvitaan
- Vaatii
- Esittelymateriaalit
- johtua
- tulokset
- Arvostelut
- Rikas
- Rooli
- juuri
- ajaa
- juoksu
- sama
- skannata
- sekuntia
- Osa
- turvallisuus
- valittu
- valitsemalla
- serverless
- palvelu
- Palvelut
- Istunto
- setti
- Setit
- asetus
- settings
- shouldnt
- näyttää
- Näytä
- Yksinkertainen
- tilanteita
- Koko
- hidastuu
- pieni
- Kuva
- So
- Tuotteemme
- ratkaisu
- Ratkaisumme
- jonkin verran
- Kipinä
- erityinen
- nopeus
- menot
- SQL
- Aloita
- Osavaltio
- Lausunto
- lausuntoja
- tilastot
- Vaihe
- Askeleet
- Yhä
- Levytila
- verkkokaupasta
- tallennettu
- varastot
- strategiat
- Strategia
- jäsennelty
- jäsennelty ja strukturoimaton data
- studio
- aliverkon
- myöhempi
- Onnistuneesti
- niin
- riittävä
- YHTEENVETO
- tuki
- Tuetut
- Tukea
- Tukee
- taulukko
- vie
- ottaen
- Kohde
- tehtävät
- tekniikat
- tennis
- testi
- Testaus
- testit
- -
- tiedot
- Valtion
- heidän
- siten
- tuhansia
- kolmella
- Kautta
- aika
- aikamatka
- että
- yhdessä
- liian
- työkalut
- ylin
- Yhteensä
- raita
- Liiketoimet
- muuttamassa
- matkustaa
- Matkustaminen
- VUORO
- tyypit
- varten
- unique
- Päivitykset
- päivitetty
- Päivitykset
- päivittäminen
- URL
- käyttää
- käyttölaukku
- Käyttäjät
- yleensä
- VAL
- arvo
- arvot
- todentaa
- versio
- käveli
- läpikäynti
- Varasto
- Kellot
- tavalla
- verkko
- verkkopalvelut
- Mitä
- onko
- joka
- vaikka
- leveä
- Laaja valikoima
- tulee
- ilman
- Referenssit
- työskentely
- toimii
- olisi
- kirjoittaa
- kirjoittaminen
- Sinun
- zephyrnet