AWS Glue: Enkel dataintegrering i skyen

Amazon Glue opplever økende popularitet, ettersom mange virksomheter i større grad implementerer administrerte dataintegrasjonstjenester.

Ekstrahering, transformasjon og lasting (ETL) er en prosess der data overføres fra en kildedatabase til et datavarehus. Denne prosessen kan være kompleks og utfordrende å implementere for alle typer bedriftsdata. For å lette denne kompleksiteten introduserte Amazon AWS Glue.

ETL-utviklere og dataingeniører benytter Glue for å bygge, overvåke og administrere ETL-arbeidsflyter.

Hva er AWS Glue?

AWS Glue er en serverløs dataintegrasjonstjeneste som forenkler prosessen med å finne, forberede, flytte og integrere data fra ulike kilder. Denne tjenesten er spesielt nyttig for maskinlæring (ML) og analyse.

Den reduserer vesentlig tidsforbruket knyttet til dataklargjøring for analyser. Tjenesten identifiserer og katalogiserer automatisk data, genererer Scala- eller Python-kode for dataoverføring fra kilden, og laster og transformerer jobben i henhold til tidsbestemte hendelser.

Dette muliggjør fleksibel planlegging og etablerer et skalerbart Apache Spark-miljø for målrettet datalasting. I tillegg tilbyr AWS Glue avansert datastrømovervåking og -endring. Som en serverløs tjeneste, forenkler AWS Glue komplekse operasjoner innen applikasjonsutvikling.

Det gir rask integrasjon av diverse gyldige datakilder. Det fremskynder også datadeling og autorisasjon.

Hva brukes AWS Glue til?

Det er viktig å forstå de optimale bruksområdene for Amazon Glue. Her er noen eksempler på hvordan AWS Glue kan brukes:

  • Glue tillater serverløse spørringer på Amazon S3 datasjøer. Det er et ypperlig verktøy for å komme i gang, da det samler alle dataene dine i et enkelt grensesnitt, slik at du kan analysere dem uten å måtte flytte dem.
  • Amazon Glue er også nyttig for å forstå dataressursene dine. Ved hjelp av datakatalogen, lar det deg enkelt søke i ulike AWS datasett og lagre data på tvers av flere AWS-tjenester med en konsistent oversikt.
  • Glue kan være nyttig når du bygger hendelsesdrevne ETL-arbeidsflyter. Du kan utføre ETL-operasjoner fra Amazon S3 ved å aktivere Glue ETL-oppgaver via en AWS Lambda-tjeneste.
  • AWS Glue kan også benyttes for å rense, validere, formatere og organisere data for lagring i en datasjø eller et lager.

Hva består AWS Glue av?

Nedenfor er de viktigste komponentene i AWS Glue:

  • Datakatalog: Denne katalogen inneholder metadata og datastruktur.
  • Database: Dette er kjernen for å få tilgang til og etablere en database for både kilder og mål.
  • Tabell: Lag en eller flere tabeller i databasen som er tilgjengelige for både kilde og mål.
  • Crawler og klassifikator: Crawleren henter data fra kilden ved å bruke enten innebygde eller egendefinerte klassifikatorer. Den etablerer/bruker forhåndsdefinerte metadatatabeller i datakatalogen.
  • Jobb: Dette er forretningslogikken for å utføre en ETL-oppgave. Denne logikken er skrevet internt med Apache Spark, ved hjelp av Python- og Scala-språk.
  • Trigger: En ETL-trigger initierer utførelsen av en ETL-jobb, enten ved forespørsel eller til et spesifisert tidspunkt.
  • Utviklingsendepunkt: Dette skaper et miljø der ETL-jobbskriptet kan testes, utvikles og feilsøkes.

Fordeler med AWS Glue

Dette er fordelene ved å bruke denne tjenesten på arbeidsplassen eller i en organisasjon.

  • AWS Glue bruker en crawler for å skanne alle tilgjengelige data.
  • Ferdigbehandlede data kan lagres på en rekke steder, inkludert Amazon RDS, Amazon Redshift og Amazon S3.
  • Det er en skybasert tjeneste som eliminerer behovet for investeringer i lokal infrastruktur.
  • Som en serverløs ETL-tjeneste er det et kostnadseffektivt alternativ.
  • Det er raskt og genererer umiddelbart Python/Scala ETL-kode.

Toppfunksjoner i AWS Glue

Amazon Glue tilbyr alle funksjonene du trenger for å integrere data, slik at du kan oppnå dypere innsikt og bruke denne kunnskapen for å gjøre fremskritt på minutter i stedet for måneder. Her er noen av de viktigste funksjonene:

  • Dra-og-slipp grensesnitt: En dra-og-slipp jobbredigerer gir deg mulighet til å skape en ETL-prosess. AWS Glue genererer koden for å hente, konvertere og laste opp data.
  • Automatisk skjemaoppdagelse: Bruk Glue-tjenesten til å lage crawlere som kobler seg til forskjellige datakilder. Den organiserer data og trekker ut relevant informasjon som kan brukes til å overvåke ETL-prosesser.
  • Jobbplanlegging: Lim kan brukes på forespørsel eller etter en planlagt tidsplan. Planleggeren er ideell for å bygge komplekse ETL-rørledninger og etablere avhengigheter mellom oppgaver.
  • Kodegenerering: Med Glue Elastic Views kan du enkelt etablere materialiserte visninger som kombinerer og replikerer data fra forskjellige kilder uten å skrive proprietær kode.
  • Innebygd maskinlæring: Lim kommer med en maskinlæringsfunksjon kalt «FindMatches» som er utviklet for å deduplisere poster som ikke er nøyaktige kopier av hverandre.
  • Utviklerendepunkter: For aktiv utvikling av ETL-kode, gir Glue utviklerendepunkter som lar deg modifisere, feilsøke og teste koden som genereres.
  • Glue DataBrew: Dette er et dataforberedelsesverktøy som hjelper dataanalytikere og forskere med å rense og normalisere data via et aktivt og visuelt grensesnitt.

Hvordan fungerer AWS Glue prising?

AWS Glue tar betalt per time, fakturert per sekund for crawlere (som oppdager data) og ETL-jobber (som behandler og laster inn data). Det påløper en månedlig avgift for tilgang til og lagring av metadata i AWS Glue Data Catalog.

Amazon Glue starter på $0,44. Det er fire planer å velge mellom:

  • ETL-oppgaver, utviklingsendepunkter og andre ETL-relaterte oppgaver koster $0,44.
  • Interaktive økter med crawlere koster $0,44.
  • DataBrew-jobber starter på $0,48.
  • Månedlig lagring og forespørsler til datakatalogen koster $1,00.

AWS tilbyr ikke en gratis Glue-plan. Hver time vil koste $0,44 per DPU. I gjennomsnitt vil det koste deg $21 per dag, men prisene kan variere avhengig av din geografiske plassering.

Trinn for å konfigurere AWS Glue

Datakatalogen lar deg raskt finne og søke i flere AWS datasett uten å måtte flytte dataene. Etter at data er katalogisert, er de umiddelbart tilgjengelige for søk via Amazon Athena og Amazon EMR.

Ref: https://aws.amazon.com/glue/

  • Amazon Redshift, Amazon S3, Amazon RDS og databaser på Amazon EC2 – Oppdag dataene dine, lagre metadata og bruk AWS Glue Data Catalog for å finne dem.
  • AWS Glue Data Catalog – Administrer data med datakatalogen som fungerer som et sentralt depot for metadata.
  • AWS Glue ETL – Les og skriv metadata til datakatalogen din.
  • Amazon Athena og Amazon Redshift, Amazon EMR, Amazon ETL – Få datakatalogen for ETL, analyse og mer.

Hvordan konfigurere AWS Glue?

Start med å logge inn på AWS Management Console og åpne IAM-konsollen. Klikk på «Opprett rolle». Finn Glue som rolletype, og velg tillatelser.

Velg AWSGlueServiceRole for generelle AWS Glue Studio- og AWS Glue-tillatelser, og den AWS-administrerte policyen AmazonS3FullAccess for tilgang til Amazon S3-ressurser.

Skriv inn et rollenavn.

Klikk på «Opprett rolle».

Lag en Amazon S3-bøtte.

Lag en mappe i S3-bøtten.

Velg filen du vil laste opp.

Last opp filen i bøtten.

Deretter åpner du AWS Glue fra AWS Management Console og oppretter en database.

Nå som du har en database i AWS Glue, opprett en crawler.

I datakilden velger du S3-bøtten du opprettet.

Velg deretter IAM-rollen for AWS Glue som du opprettet tidligere.

Til slutt, i utgangen, velg databasen «gluedb» du opprettet.

Gå gjennom alle innstillingene og opprett crawleren.

Når crawleren er opprettet, velg den og klikk på «Kjør». Etter en stund vil statusen endres til «klar».

Når du kjører crawleren, vil databasen ha en tabell med alle data fra CSV-filen.

Når du klikker på «vis data», blir du ledet til Amazon Athena (spørringsredigering). Etter at du har kjørt spørringen, vil du se tabelldataene.

Du kan nå bruke denne AWS Glue-crawleren i enhver ETL-jobb.

Hva er AWS Glue DataBrew?

AWS Glue DataBrew gjør det mulig for brukere å normalisere og rydde opp i data uten å skrive kode. Med DataBrew kan tiden som kreves for å forberede data for maskinlæring og analyser reduseres med opptil 80 prosent sammenlignet med spesialutviklet dataforberedelse.

Over 250 forhåndsdefinerte datatransformasjoner kan brukes til å automatisere dataklargjøringsoppgaver som å filtrere ut uregelmessigheter, korrigere ugyldige verdier og konvertere data til standardformater.

DataBrew gjør det enklere for dataforskere, forretningsanalytikere og ingeniører å samarbeide om å utlede innsikt fra rådata. DataBrew er serverløs, så det er ikke nødvendig å administrere infrastruktur eller opprette klynger for å utforske og transformere terabyte med rådata.

DataBrew-funksjoner for bedrifter

Visualisert dataforberedelse

DataBrew presenterer data, som normalt vises som alfanumeriske verdier i kolonner, på en mer visuell måte. Denne visualiseringen av alle innlastede datakilder hjelper deg med å forstå datarelasjonene og hierarkiet.

250+ dataforberedelsesautomatiseringer

Dataforskere jobber ofte med en rekke repeterbare og isolerte arbeidsflyter. AWS har modellert disse arbeidsflytene og prosessene som språk- og dataagnostiske moduler. Dette biblioteket inkluderer handlinger som sluttbrukere kan benytte.

Dataavstamning

På samme måte som revisjonslogger brukes for å spore kundeaktivitet i et IT-nettverk, lar datalinje deg spore datatransformasjonene i AWS DataBrew. Informasjonen omfatter datakilden, transformasjonene som ble brukt, og datautgangen, inkludert destinasjonsplasseringen.

Datakartlegging

Databrew lar deg finne samsvarende felt i to datakilder. Når samsvarende felt er identifisert, kan de lastes inn i et skjema.

AWS Glue DataBrew: Fordeler

Nedenfor er fordelene med AWS Glue DataBrew:

  • Senker terskelen for dataforberedelse.
  • Automatisk dataprofilgenerering.
  • Automatiserer over 250 dataforberedelsesprosesser.
  • Gir intelligente anbefalinger basert på oppskrifter.

Alternativer til AWS Glue

Airflow

Airflow er en arbeidsflytbehandler. Det er et åpen kildekodeverktøy med støtte for GitHub-stjerner, GitHub-gafler og andre funksjoner. Airflow lar deg etablere arbeidsflyter ved hjelp av dirigerte asykliske grafer (DAGs). Airflow-planleggeren utfører oppgavene dine ved hjelp av en rekke arbeidere og følger de spesifiserte avhengighetene.

Matillion

Matillion ETL, et ETL/ELT-verktøy, er spesielt designet for skydatabaseplattformer som Amazon Redshift og Google BigQuery. Det har et moderne nettleserbasert brukergrensesnitt med push-down ETL/ELT-funksjoner og et raskt oppsett som lar deg komme i gang i løpet av minutter.

Stitch

Stitch er en åpen kildekode ETL-tjeneste som kobler sammen flere datakilder og replikerer data til valgte destinasjoner. Det er enkelt å bruke, ettersom du ikke trenger kodekunnskap for å flytte data mellom kilder og destinasjoner i Stitch. Det er raskt med et brukervennlig grensesnitt.

I motsetning til andre ETL-verktøy, tillater ikke Stitch deg å velge et ferdig dashbord. I stedet må du integrere dataene dine i de åpne datavarehusene du velger som destinasjon. Dette kan være utfordrende å navigere i.

Alteryx

Alteryx er en analytisk automatiseringsplattform som hjelper med datainnsamling, forberedelse og blanding. Disse dataene kan brukes til å fremskynde prosesser og gi forretningsinnsikt. Som et dra-og-slipp-verktøy krever det ingen programmeringskunnskap. Alteryx er et godt sted å søke råd og svar fra bransjefolk.

Konklusjon

Dette var en oversikt over AWS Glue, en skybasert løsning for ETL-rørledninger. AWS Glue-brukerinteraksjonsprosessen består av tre faser. Først brukes datasøkeprogrammer for å opprette en datakatalog. Deretter genereres ETL-koden som kreves av AWS-datapipelinen. Til slutt opprettes ETL-planen. Forhåpentligvis ga denne oversikten en god forståelse av Amazon Glue.

Du kan også utforske de beste praksisene for å sikre AWS S3-lagring.