Zephyrnet logo

Mittaa ETL-putkien AWS-liimatietojen laadun suorituskykyä | Amazon Web Services

Treffi:

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:

pip install pandas mimesis

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:

  1. Luo Amazon S3 -konsolissa tilillesi uusi S3-säilö ja lataa se testidata.
  2. Luo kansio nimeltä S3-säilö isocodes ja lataa isocodes.csv tiedosto.
  3. Luo S3-ämpäriin toinen kansio nimeltä Exchange ja lataa se Exchanges.csv tiedosto.
  4. 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.

AWS-liimatietoluettelo

Nyt luomme AWS-henkilöllisyyden ja käyttöoikeuksien hallinta (MINÄ OLEN) rooli jonka ETL-työt olettavat suorituksen aikana:

  1. Luo IAM-konsolissa uusi IAM-rooli nimeltä AWSGlueDataQualityPerformanceRole
  2. varten Luotettu kokonaisuustyyppivalitse AWS-palvelu.
  3. varten Huolto- tai käyttötapaus, valitse Liima.
  4. Valita seuraava.

AWS IAM -luottamuskokonaisuuden valinta

  1. varten Lupakäytännöt, tulla sisään AWSGlueServiceRole
  2. Valita seuraava.
    AWS IAM -lisäoikeuskäytännöt
  3. Luo ja liitä uusi sisäinen käytäntö (AWSGlueDataQualityBucketPolicy) seuraavalla sisällöllä. Korvaa paikkamerkki aiemmin luomallasi S3-ryhmän nimellä:
    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": "s3:GetObject",
          "Resource": [
            "arn:aws:s3:::<your_Amazon_S3_bucket_name>/*"
          ]
        }
      ]
    }

Seuraavaksi luomme yhden AWS Glue ETL -työstä, ruleset-5.

  1. AWS-liimakonsolin alla ETL työpaikkoja valitse siirtymisruudussa Visuaalinen ETL.
  2. In Luo työpaikka osiossa, valitse Visuaalinen ETL.x
    Yleiskatsaus käytettävissä oleviin töihin AWS Glue Studiossa
  3. Lisää Visuaaliseen editoriin a Tietolähde – S3 Bucket lähdesolmu:
    1. varten S3 URL, kirjoita S3-kansio, joka sisältää testitietojoukon.
    2. varten Tietomuoto, valitse parketti.

    Yleiskatsaus Amazon S3 -tietolähteeseen AWS Glue Studiossa

  4. Luo uusi toimintosolmu, Muunna: Evaluate-Data-Catalog:
  5. varten Solmuvanhemmat, valitse luomasi solmu.
  6. Lisää sääntöjoukon 5 määritelmä varten Sääntösarjan editori.
    Tietojen laatusäännöt sääntöjoukolle-5
  7. Vieritä loppuun ja alapuolelle Suorituskyvyn määritys, ota käyttöön Välimuistitiedot.

Ota välimuistitiedot käyttöön

  1. Alle Työn yksityiskohdatVarten IAM-rooli, valitse AWSGlueDataQualityPerformanceRole.
    Valitse aiemmin luotu AWS IAM -rooli
  2. 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.

Määritä dqjob-tunniste rulet-5-työlle

  1. Valita Säästä.
  2. Toista nämä vaiheet muiden sääntöjoukkojen kanssa määrittääksesi kaikki ETL-työt.

Yleiskatsaus AWS Glue Studiossa määritettyihin töihin

Suorita AWS Glue ETL -työt

Suorita ETL-työt suorittamalla seuraavat vaiheet:

  1. Valitse AWS-liimakonsolista Visuaalinen ETL varten ETL työpaikkoja navigointipaneelissa.
  2. Valitse ETL-työ ja valitse Suorita työ.
  3. Toista kaikki ETL-työt.

Valitse yksi AWS-liimatyö ja valitse oikeasta yläkulmasta Suorita työ

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.

Yleiskatsaus AWS Glue -töiden seurantaan

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.

  1. AWS:ssä Cost Explorer valitse konsoli Cost Explorer tallennetut raportit navigointipaneelissa.
  2. Valita Luo uusi raportti.
    Luo uusi AWS Cost Explorer -raportti
  3. valita Kustannukset ja käyttö raporttityyppinä.
  4. Valita Luo raportti.
    Vahvista uuden AWS Cost Explorer -raportin luominen
  5. varten Ajanjakso, anna ajanjakso.
  6. varten rakeisuus¸ valitse Päivä.
  7. varten Ulottuvuus, valitse tag, valitse sitten dqjob tunnisteita.
    Raportoi parametrien valinta AWS Cost Explorerissa
  8. 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).
    Valitse kahdeksan tunnistetta, joita käytetään datalaadun AWS-liimatöihin merkitsemiseen
  9. 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.

AWS Cost Explorer -raportti näyttää kustannukset, jotka liittyvät datalaadun AWS Glue Studio -töiden suorittamiseen

Puhdistaa

Siivoaksesi infrastruktuurin ja välttääksesi lisäkulut, suorita seuraavat vaiheet:

  1. Tyhjennä alun perin luotu S3-ämpäri testitietojoukon tallentamiseksi.
  2. Poista AWS Gluessa luomasi ETL-työt.
  3. Poista AWSGlueDataQualityPerformanceRole IAM-rooli.
  4. 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


Ruben Afonso Francos
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)
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
Gonzalo herreros
on vanhempi Big Data -arkkitehti AWS Glue -tiimissä.

spot_img

Uusin älykkyys

spot_img