Viime vuosina datajärvistä on tullut valtavirta-arkkitehtuuri, ja tiedon laadun validointi on kriittinen tekijä tietojen uudelleenkäytettävyyden ja johdonmukaisuuden parantamisessa. AWS-liimatietojen laatu vähentää tietojen validointiin vaadittavaa vaivaa päivistä tuntiin ja tarjoaa laskentasuosituksia, tilastoja ja oivalluksia tietojen validoinnin suorittamiseen tarvittavista resursseista.
AWS Glue Data Quality perustuu DeeQu, avoimen lähdekoodin työkalu, joka on kehitetty ja käytetty Amazonissa tietojen laatumittareiden laskemiseen ja tietojen laadun rajoitusten ja tietojen jakelun muutosten tarkistamiseen, jotta voit keskittyä kuvaamaan, miltä tietojen pitäisi näyttää algoritmien toteuttamisen sijaan.
Tässä viestissä tarjoamme vertailutuloksia yhä monimutkaisempien tietojen laatusäännösten suorittamisesta ennalta määritetyn testidatajoukon yli. Osana tuloksia näytämme, kuinka AWS Glue Data Quality tarjoaa tietoa purkamis-, muunnos- ja lataustöiden (ETL) suoritusajasta, tietojenkäsittelyyksiköissä (DPU) mitatuista resursseista ja siitä, kuinka voit seurata kustannuksia. AWS Glue Data Quality for ETL-putkien suorittaminen määrittämällä mukautetun kustannusraportoinnin AWS Cost Explorerissa.
Ratkaisun yleiskatsaus
Aloitamme määrittämällä testitietojoukkomme tutkiaksemme, kuinka AWS Glue Data Quality skaalautuu automaattisesti syötetietojoukon mukaan.
Tietojoukon tiedot
Testiaineisto sisältää 104 saraketta ja 1 miljoona riviä, jotka on tallennettu Parketti-muodossa. Sinä pystyt lataa tietojoukko tai luo se uudelleen paikallisesti käyttämällä Python-komentosarjaa, joka on mukana säilytyspaikka. Jos päätät suorittaa generaattoriskriptin, sinun on asennettava Panda ja Mimesiksen paketit Python-ympäristössäsi:
Tietojoukkoskeema on numeeristen, kategoristen ja merkkijonomuuttujien yhdistelmä, jotta siinä on tarpeeksi attribuutteja sisäänrakennetun AWS-liimatietojen laadun yhdistelmän käyttämiseen. sääntötyypit. Kaava toistaa joitain yleisimmistä rahoitusmarkkinatiedoista löytyvistä attribuuteista, kuten instrumenttien ticker, kaupankäynnin volyymit ja hinnoitteluennusteet.
Tietojen laatusäännöt
Luokittelemme joitain sisäänrakennettuja AWS-liimatietojen laatusääntötyyppejä vertailurakenteen määrittämiseksi. Luokat harkitsevat, suorittavatko säännöt saraketarkistuksia, jotka eivät vaadi rivitason tarkastusta (yksinkertaiset säännöt), rivikohtaista analyysiä (keskitason säännöt) tai tietotyyppitarkistuksia, ja lopulta verrataan rivien arvoja muihin tietolähteisiin (monimutkaiset säännöt). ). Seuraavassa taulukossa on yhteenveto näistä säännöistä.
Yksinkertaiset säännöt | Keskikokoiset säännöt | Monimutkaiset säännöt |
ColumnCount | DistinctValuesCount | ColumnValues |
ColumnDataType | On valmis | täydellisyys |
ColumnExist | Summa | ReferentialIntegrity |
ColumnNamesMatchPattern | Vakiopoikkeama | SarakeKorrelaatio |
Rivilaskenta | Mean | RowCountMatch |
Sarakkeen pituus | . | . |
Määrittelemme kahdeksan erilaista AWS Glue ETL -työtä, joissa suoritamme tietojen laatusäännöt. Jokaiseen työhön liittyy erilainen määrä tietojen laatusääntöjä. Jokaiseen työhön liittyy myös oma käyttäjän määrittämä kustannusten kohdistustunniste joita käytämme tietojen laadun kustannusraportin luomiseen AWS Cost Explorerissa myöhemmin.
Tarjoamme selkeän tekstin määritelmän jokaiselle sääntöjoukolle seuraavassa taulukossa.
Työn nimi | Yksinkertaiset säännöt | Keskikokoiset säännöt | Monimutkaiset säännöt | Sääntöjen määrä | tag | Määritelmä |
sääntöjoukko-0 | 0 | 0 | 0 | 0 | dqjob:rs0 | - |
sääntöjoukko-1 | 0 | 0 | 1 | 1 | dqjob:rs1 | Linkki |
sääntöjoukko-5 | 3 | 1 | 1 | 5 | dqjob:rs5 | Linkki |
sääntöjoukko-10 | 6 | 2 | 2 | 10 | dqjob:rs10 | Linkki |
sääntöjoukko-50 | 30 | 10 | 10 | 50 | dqjob:rs50 | Linkki |
sääntöjoukko-100 | 50 | 30 | 20 | 100 | dqjob:rs100 | Linkki |
sääntöjoukko-200 | 100 | 60 | 40 | 200 | dqjob:rs200 | Linkki |
sääntöjoukko-400 | 200 | 120 | 80 | 400 | dqjob:rs400 | Linkki |
Luo AWS Glue ETL -työt, jotka sisältävät tietojen laatusäännöt
Lataamme testidata että Amazonin yksinkertainen tallennuspalvelu (Amazon S3) ja kaksi muuta CSV-tiedostoa, joita käytämme AWS-liimatietojen laadun viiteeheyssääntöjen arvioimiseen (isocodes.csv ja Exchanges.csv) sen jälkeen, kun ne on lisätty AWS Glue Data Catalog -luetteloon. Suorita seuraavat vaiheet:
- Luo Amazon S3 -konsolissa tilillesi uusi S3-säilö ja lataa se testidata.
- Luo kansio nimeltä S3-säilö
isocodes
ja lataa isocodes.csv tiedosto. - Luo S3-ämpäriin toinen kansio nimeltä Exchange ja lataa se Exchanges.csv tiedosto.
- Suorita AWS Glue -konsolissa kaksi AWS Glue -indeksointirobottia, yksi kullekin kansiolle CSV-sisällön rekisteröimiseksi AWS Glue Data Catalogiin (
data_quality_catalog
). Katso ohjeet kohdasta AWS-liimarobotin lisääminen.
AWS Glue -indeksoijat luovat kaksi taulukkoa (exchanges
ja isocodes
) osana AWS Glue Data Catalogia.
Nyt luomme AWS-henkilöllisyyden ja käyttöoikeuksien hallinta (MINÄ OLEN) rooli jonka ETL-työt olettavat suorituksen aikana:
- Luo IAM-konsolissa uusi IAM-rooli nimeltä
AWSGlueDataQualityPerformanceRole
- varten Luotettu kokonaisuustyyppivalitse AWS-palvelu.
- varten Huolto- tai käyttötapaus, valitse Liima.
- Valita seuraava.
- varten Lupakäytännöt, tulla sisään
AWSGlueServiceRole
- Valita seuraava.
- Luo ja liitä uusi sisäinen käytäntö (
AWSGlueDataQualityBucketPolicy
) seuraavalla sisällöllä. Korvaa paikkamerkki aiemmin luomallasi S3-ryhmän nimellä:
Seuraavaksi luomme yhden AWS Glue ETL -työstä, ruleset-5
.
- AWS-liimakonsolin alla ETL työpaikkoja valitse siirtymisruudussa Visuaalinen ETL.
- In Luo työpaikka osiossa, valitse Visuaalinen ETL.x
- Lisää Visuaaliseen editoriin a Tietolähde – S3 Bucket lähdesolmu:
- varten S3 URL, kirjoita S3-kansio, joka sisältää testitietojoukon.
- varten Tietomuoto, valitse parketti.
- Luo uusi toimintosolmu, Muunna: Evaluate-Data-Catalog:
- varten Solmuvanhemmat, valitse luomasi solmu.
- Lisää sääntöjoukon 5 määritelmä varten Sääntösarjan editori.
- Vieritä loppuun ja alapuolelle Suorituskyvyn määritys, ota käyttöön Välimuistitiedot.
- Alle Työn yksityiskohdatVarten IAM-rooli, valitse
AWSGlueDataQualityPerformanceRole
. - In Tunnisteet jakso, määrittele dqjob tagi nimellä rs5.
Tämä tunniste on erilainen jokaisessa datalaadun ETL-työssä; käytämme niitä AWS Cost Explorerissa ETL-töiden kustannusten tarkistamiseen.
- Valita Säästä.
- Toista nämä vaiheet muiden sääntöjoukkojen kanssa määrittääksesi kaikki ETL-työt.
Suorita AWS Glue ETL -työt
Suorita ETL-työt suorittamalla seuraavat vaiheet:
- Valitse AWS-liimakonsolista Visuaalinen ETL varten ETL työpaikkoja navigointipaneelissa.
- Valitse ETL-työ ja valitse Suorita työ.
- Toista kaikki ETL-työt.
Kun ETL-työt ovat valmiit, Töiden seuranta sivu näyttää työn tiedot. Kuten seuraavassa kuvakaappauksessa näkyy, a DPU tuntia sarake tarjotaan jokaiselle ETL-työlle.
Tarkista suorituskyky
Seuraavassa taulukossa on yhteenveto kestosta, DPU-tunnista ja arvioiduista kustannuksista, jotka aiheutuvat kahdeksan eri tiedonlaatusäännön suorittamisesta samassa testitietojoukossa. Huomaa, että kaikki sääntöjoukot on ajettu koko aiemmin kuvatulla testidatajoukolla (104 saraketta, 1 miljoonaa riviä).
ETL-työn nimi | Sääntöjen määrä | tag | Kesto (sekuntia) | DPU-tuntien määrä | DPU:iden määrä | Kustannukset ($) |
sääntöjoukko-400 | 400 | dqjob:rs400 | 445.7 | 1.24 | 10 | $0.54 |
sääntöjoukko-200 | 200 | dqjob:rs200 | 235.7 | 0.65 | 10 | $0.29 |
sääntöjoukko-100 | 100 | dqjob:rs100 | 186.5 | 0.52 | 10 | $0.23 |
sääntöjoukko-50 | 50 | dqjob:rs50 | 155.2 | 0.43 | 10 | $0.19 |
sääntöjoukko-10 | 10 | dqjob:rs10 | 152.2 | 0.42 | 10 | $0.18 |
sääntöjoukko-5 | 5 | dqjob:rs5 | 150.3 | 0.42 | 10 | $0.18 |
sääntöjoukko-1 | 1 | dqjob:rs1 | 150.1 | 0.42 | 10 | $0.18 |
sääntöjoukko-0 | 0 | dqjob:rs0 | 53.2 | 0.15 | 10 | $0.06 |
Tyhjän sääntöjoukon arvioinnin kustannukset ovat lähellä nollaa, mutta se on sisällytetty, koska sitä voidaan käyttää pikatestinä AWS Glue Data Quality -töihin liittyvien IAM-roolien validoimiseen ja Amazon S3:n testitietojoukon lukuoikeuksien tarkistamiseen. Tiedonlaadun töiden kustannukset alkavat nousta vasta sen jälkeen, kun yli 100 sääntöä sisältävät sääntöjoukot on arvioitu ja pysyvät vakiona tämän luvun alapuolella.
Voimme havaita, että vertailun suurimman sääntöjoukon (400 sääntöä) tietojen laadun suorittamisen kustannukset ovat edelleen hieman yli 0.50 dollaria.
Tietojen laadun kustannusanalyysi AWS Cost Explorerissa
Jotta voit nähdä tietojen laadun ETL-työtunnisteet AWS Cost Explorerissa, sinun on aktivoi käyttäjän määrittämät kustannusten kohdistustunnisteet ensimmäinen.
Kun olet luonut ja käyttänyt käyttäjän määrittämiä tunnisteita resursseihisi, voi kestää jopa 24 tuntia, ennen kuin tagiavaimet näkyvät kulujen kohdistustunnisteet -sivulla aktivointia varten. Tunnisteavainten aktivoituminen voi sitten kestää jopa 24 tuntia.
- AWS:ssä Cost Explorer valitse konsoli Cost Explorer tallennetut raportit navigointipaneelissa.
- Valita Luo uusi raportti.
- valita Kustannukset ja käyttö raporttityyppinä.
- Valita Luo raportti.
- varten Ajanjakso, anna ajanjakso.
- varten rakeisuus¸ valitse Päivä.
- varten Ulottuvuus, valitse tag, valitse sitten
dqjob
tunnisteita. - Alle Käytetyt suodattimet, Valitse
dqjob
-tunniste ja kahdeksan datan laatusäännöissä käytetyt tunnisteet (rs0, rs1, rs5, rs10, rs50, rs100, rs200 ja rs400). - Valita käyttää.
Kustannus- ja käyttöraportti päivitetään. X-akseli näyttää tietojen laadun sääntöjoukon tunnisteet luokkina. The Kustannukset ja käyttö AWS Cost Explorerin kaavio päivittyy ja näyttää viimeisimpien suoritettujen datalaadun ETL-töiden kuukausittaiset kokonaiskustannukset ETL-töiden mukaan koottuna.
Puhdistaa
Siivoaksesi infrastruktuurin ja välttääksesi lisäkulut, suorita seuraavat vaiheet:
- Tyhjennä alun perin luotu S3-ämpäri testitietojoukon tallentamiseksi.
- Poista AWS Gluessa luomasi ETL-työt.
- Poista
AWSGlueDataQualityPerformanceRole
IAM-rooli. - Poista AWS Cost Explorerissa luotu mukautettu raportti.
Yhteenveto
AWS Glue Data Quality tarjoaa tehokkaan tavan sisällyttää tietojen laadun validointi osaksi ETL-putkia ja skaalata automaattisesti kasvavan tietomäärän ottamiseksi huomioon. Sisäänrakennetut tietojen laatusääntötyypit tarjoavat laajan valikoiman vaihtoehtoja tietojen laadun tarkistuksen mukauttamiseen ja keskittymiseen siihen, miltä tietosi pitäisi näyttää sen sijaan, että käyttäisit eriyttämätöntä logiikkaa.
Tässä vertailuanalyysissä osoitimme, kuinka yleisten AWS-liimatietojen laatusäännöstöillä on vähän tai ei ollenkaan yleiskustannuksia, kun taas monimutkaisissa tapauksissa kustannukset kasvavat lineaarisesti. Tarkastelimme myös, kuinka voit merkitä AWS Glue Data Quality -töitä, jotta kustannustiedot ovat saatavilla AWS Cost Explorerissa nopeaa raportointia varten.
AWS Glue Data Quality on yleisesti saatavilla kaikilla AWS-alueilla, joilla AWS-liimaa on saatavilla. Lue lisää AWS-liimatietojen laadusta ja AWS-liimatietokatalogista AWS Glue Data Quality:n käytön aloittaminen AWS Glue Data Catalogista.
Tietoja Tekijät
Ruuben Afonso on Global Financial Services Solutions -arkkitehti AWS:llä. Hän nauttii analytiikan ja AI/ML-haasteiden parissa työskentelystä intohimollaan automaatioon ja optimointiin. Kun hän ei ole töissä, hän nauttii piilotettujen paikkojen löytämisestä Barcelonan ympärillä olevalta polulta.
Kalyan Kumar Neelapudi (KK) on erikoistunut kumppaniratkaisujen arkkitehti (Data Analytics & Generatiivinen tekoäly) AWS:ssä. Hän toimii teknisenä neuvonantajana ja tekee yhteistyötä eri AWS-kumppaneiden kanssa suunnitella, toteuttaa ja rakentaa käytäntöjä data-analytiikan ja AI/ML-työkuormien ympärille. Työn ulkopuolella hän on sulkapallon harrastaja ja kulinaarinen seikkailija, joka tutkii paikallisia ruokia ja matkustaa kumppaninsa kanssa löytääkseen uusia makuja ja kokemuksia.
Gonzalo herreros on vanhempi Big Data -arkkitehti AWS Glue -tiimissä.
- SEO-pohjainen sisällön ja PR-jakelu. Vahvista jo tänään.
- PlatoData.Network Vertical Generatiivinen Ai. Vahvista itseäsi. Pääsy tästä.
- PlatoAiStream. Web3 Intelligence. Tietoa laajennettu. Pääsy tästä.
- PlatoESG. hiili, CleanTech, energia, ympäristö, Aurinko, Jätehuolto. Pääsy tästä.
- PlatonHealth. Biotekniikan ja kliinisten kokeiden älykkyys. Pääsy tästä.
- Lähde: https://aws.amazon.com/blogs/big-data/measure-performance-of-aws-glue-data-quality-for-etl-pipelines/