Data transformerer hvert felt og hver virksomhet. Men med data som vokser raskere enn de fleste bedrifter kan holde styr på, er det en utfordrende ting å samle inn data og få verdi ut av disse dataene. EN moderne datastrategi kan hjelpe deg med å skape bedre forretningsresultater med data. AWS tilbyr det mest komplette settet med tjenester for ende-til-ende datareise å hjelpe deg låse opp verdi fra dataene dine og gjøre det til innsikt.
Dataforskere kan bruke opptil 80 % av tiden sin på å forberede data for maskinlæringsprosjekter (ML). Denne forberedelsesprosessen er stort sett udifferensiert og kjedelig arbeid, og kan involvere flere programmerings-APIer og tilpassede biblioteker. Amazon SageMaker Data Wrangler hjelper dataforskere og dataingeniører med å forenkle og akselerere tabell- og tidsseriedataforberedelse og funksjonsutvikling gjennom et visuelt grensesnitt. Du kan importere data fra flere datakilder, som f.eks Amazon enkel lagringstjeneste (Amazon S3), Amazonas Athena, Amazon RedShift, eller til og med tredjepartsløsninger som Snowflake or DataBricks, og behandle dataene dine med over 300 innebygde datatransformasjoner og et bibliotek med kodebiter, slik at du raskt kan normalisere, transformere og kombinere funksjoner uten å skrive noen kode. Du kan også ta med dine tilpassede transformasjoner i PySpark, SQL eller Pandas.
Dette innlegget viser hvordan du kan planlegge dataforberedelsesjobbene dine til å kjøre automatisk. Vi utforsker også den nye Data Wrangler-funksjonen til parameteriserte datasett, som lar deg spesifisere filene som skal inkluderes i en dataflyt ved hjelp av parameteriserte URIer.
Løsningsoversikt
Data Wrangler støtter nå import av data ved hjelp av en parameterisert URI. Dette gir mulighet for ytterligere fleksibilitet fordi du nå kan importere alle datasett som samsvarer med de angitte parameterne, som kan være av typen String, Number, Datetime og Pattern, i URIen. I tillegg kan du nå utløse dine Data Wrangler-transformasjonsjobber etter en tidsplan.
I dette innlegget lager vi en prøveflyt med Titanic-datasettet for å vise hvordan du kan begynne å eksperimentere med disse to nye Data Wrangler-funksjonene. For å laste ned datasettet, se Titanic – Machine Learning from Disaster.
Forutsetninger
For å få alle funksjonene beskrevet i dette innlegget, må du kjøre den nyeste kjerneversjonen av Data Wrangler. For mer informasjon, se Oppdater data Wrangler. I tillegg må du løpe Amazon SageMaker Studio JupyterLab 3. For å se gjeldende versjon og oppdatere den, se JupyterLab versjonering.
Filstruktur
For denne demonstrasjonen følger vi en enkel filstruktur som du må replikere for å gjenskape trinnene som er skissert i dette innlegget.
- I studio, opprette en ny notatbok.
- Kjør følgende kodebit for å lage mappestrukturen vi bruker (sørg for at du er i ønsket mappe i filtreet):
- Kopier
train.csv
ogtest.csv
filer fra det originale Titanic-datasettet til mappenetitanic_dataset/train
ogtitanic_dataset/test
Hhv. - Kjør følgende kodebit for å fylle ut mappene med de nødvendige filene:
Vi deler opp train.csv
fil av Titanic-datasettet til ni forskjellige filer, navngitt part_x
, hvor x er tallet på delen. Del 0 har de første 100 postene, del 1 de neste 100, og så videre til del 8. Hver nodemappe i filtreet inneholder en kopi av de ni delene av treningsdataene bortsett fra train
og test
mapper, som inneholder train.csv
og test.csv
.
Parameteriserte datasett
Data Wrangler-brukere kan nå spesifisere parametere for datasettene importert fra Amazon S3. Datasettparametere er spesifisert i ressursens URI, og verdien kan endres dynamisk, noe som gir større fleksibilitet for å velge filene vi ønsker å importere. Parametre kan være av fire datatyper:
- Nr – Kan ta verdien av et hvilket som helst heltall
- String – Kan ta verdien av en hvilken som helst tekststreng
- Mønster – Kan ta verdien av et hvilket som helst regulært uttrykk
- Dato tid – Kan ta verdien av alle de støttede dato/klokkeslettformatene
I denne delen gir vi en gjennomgang av denne nye funksjonen. Dette er kun tilgjengelig etter at du har importert datasettet til gjeldende flyt og bare for datasett importert fra Amazon S3.
- Fra dataflyten velger du plusstegnet (+) ved siden av importtrinnet og velger Rediger datasett.
- Den foretrukne (og enkleste) metoden for å lage nye parametere er ved å markere en del av din URI og velge Opprett egendefinert parameter på rullegardinmenyen. Du må spesifisere fire ting for hver parameter du vil opprette:
- Navn
- typen
- Standardverdi
- Beskrivelse
Her har vi laget en strengtype parameter kaltfilename_param
med en standardverdi påtrain.csv
. Nå kan du se parameternavnet omsluttet av doble parenteser, og erstatter den delen av URIen som vi tidligere har uthevet. Fordi den definerte verdien for denne parameteren vartrain.csv
, ser vi nå filentrain.csv
oppført i importtabellen. - Når vi prøver å skape en transformasjonsjobb, på Konfigurer jobb trinn, ser vi nå en parametere delen, hvor vi kan se en liste over alle våre definerte parametere.
- Å velge parameteren gir oss muligheten til å endre parameterens verdi, i dette tilfellet endre inngangsdatasettet som skal transformeres i henhold til den definerte flyten.
Forutsatt at vi endrer verdien avfilename_param
fratrain.csv
tilpart_0.csv
, tar transformasjonsjobben nåpart_0.csv
(forutsatt at en fil med navnetpart_0.csv
finnes under samme mappe) som de nye inndataene. - I tillegg, hvis du prøver å eksportere flyten til en Amazon S3-destinasjon (via en Jupyter-notisbok), ser du nå en ny celle som inneholder parametrene du definerte.
Merk at parameteren tar standardverdien, men du kan endre den ved å erstatte verdien iparameter_overrides
ordbok (mens du lar nøklene til ordboken være uendret).
I tillegg kan du opprette nye parametere fra parametere UI. - Åpne den ved å velge parameterikonet ({{}}) ligger ved siden av Go alternativ; begge er plassert ved siden av URI-baneverdien.
En tabell åpnes med alle parameterne som for øyeblikket finnes i flytfilen din (filename_param
På dette punktet). - Du kan opprette nye parametere for flyten din ved å velge Opprett parameter.
Et popup-vindu åpnes der du kan lage en ny egendefinert parameter. - Her har vi laget en ny
example_parameter
som nummertype med standardverdien 0. Denne nyopprettede parameteren er nå oppført i parametere bord. Hvis du holder markøren over parameteren, vises alternativene Rediger, Deleteog innfelt. - Fra innen parametere UI, kan du sette inn en av parameterne dine til URI ved å velge ønsket parameter og velge innfelt.
Dette legger til parameteren på slutten av URI-en din. Du må flytte den til ønsket seksjon i din URI. - Endre parameterens standardverdi, bruk endringen (fra modal), velg Go, og velg oppdateringsikonet for å oppdatere forhåndsvisningslisten ved å bruke det valgte datasettet basert på den nylig definerte parameterens verdi.La oss nå utforske andre parametertyper. Anta at vi nå har et datasett delt i flere deler, der hver fil har et delenummer.
- Hvis vi ønsker å endre filnummeret dynamisk, kan vi definere en nummerparameter som vist i følgende skjermbilde.Merk at den valgte filen er den som samsvarer med nummeret som er angitt i parameteren.
La oss nå demonstrere hvordan du bruker en mønsterparameter. Anta at vi ønsker å importere allepart_1.csv
filer i alle mappene undertitanic-dataset/
mappe. Mønsterparametere kan ta ethvert gyldig regulært uttrykk; det er noen regex-mønstre vist som eksempler. - Lag en mønsterparameter kalt
any_pattern
for å matche en mappe eller fil undertitanic-dataset/
mappe med standardverdi.*
. Legg merke til at jokertegnet ikke er en enkelt * (stjerne), men også har en prikk. - Uthev
titanic-dataset/
del av banen og opprette en egendefinert parameter. Denne gangen velger vi Mønster type.Dette mønsteret velger alle filene som kallespart-1.csv
fra en av mappene undertitanic-dataset/
.
En parameter kan brukes mer enn én gang i en bane. I det følgende eksempelet bruker vi vår nyopprettede parameterany_pattern
to ganger i vår URI for å matche noen av delfilene i en av mappene undertitanic-dataset/
.
Til slutt, la oss lage en Datetime-parameter. Datetime-parametere er nyttige når vi har å gjøre med stier som er partisjonert etter dato og klokkeslett, som de som genereres av Amazon Kinesis Data Firehose (Se Dynamisk partisjonering i Kinesis Data Firehose). For denne demonstrasjonen bruker vi dataene under datetime-data-mappen. - Velg delen av banen din som er en dato/tid, og lag en egendefinert parameter. Velg Dato tid parametertype.
Når du velger datatypen Datetime, må du fylle ut flere detaljer. - Først av alt må du oppgi et datoformat. Du kan velge hvilket som helst av de forhåndsdefinerte dato-/klokkeslettformatene eller lage et tilpasset format.
For de forhåndsdefinerte dato-/tidsformatene gir forklaringen et eksempel på en dato som samsvarer med det valgte formatet. For denne demonstrasjonen velger vi formatet åååå/MM/dd. - Deretter spesifiser en tidssone for dato-/tidsverdiene.
Gjeldende dato kan for eksempel være 1. januar 2022 i én tidssone, men kan være 2. januar 2022 i en annen tidssone. - Til slutt kan du velge tidsintervallet, som lar deg velge rekkevidden av filer du vil inkludere i dataflyten din.
Du kan spesifisere tidsintervallet ditt i timer, dager, uker, måneder eller år. For dette eksemplet ønsker vi å få alle filene fra det siste året. - Gi en beskrivelse av parameteren og velg Opprett.
Hvis du bruker flere datasett med forskjellige tidssoner, konverteres ikke tiden automatisk. du må forhåndsbehandle hver fil eller kilde for å konvertere den til én tidssone.De valgte filene er alle filene under mappene som tilsvarer fjorårets data. - Hvis vi nå oppretter en datatransformasjonsjobb, kan vi se en liste over alle våre definerte parametere, og vi kan overstyre standardverdiene deres slik at transformasjonsjobbene våre velger de spesifiserte filene.
Planlegg behandlingsjobber
Du kan nå planlegge behandlingsjobber for å automatisere kjøringen av datatransformasjonsjobbene og eksportere de transformerte dataene dine til enten Amazon S3 eller Amazon SageMaker Feature Store. Du kan planlegge jobbene med den tid og periodisitet som passer dine behov.
Bruk av planlagte behandlingsjobber Amazon EventBridge regler for å planlegge jobbens kjøring. Derfor, som en forutsetning, må du sørge for at AWS identitets- og tilgangsadministrasjon (IAM) rolle som brukes av Data Wrangler, nemlig Amazon SageMaker utførelsesrolle av Studio-forekomsten, har tillatelser til å lage EventBridge-regler.
Konfigurer IAM
Fortsett med følgende oppdateringer på IAM SageMaker-utførelsesrollen som tilsvarer Studio-forekomsten der Data Wrangler-flyten kjører:
- Fest AmazonEventBridgeFullAccess administrert politikk.
- Legg ved en policy for å gi tillatelse til å opprette en behandlingsjobb:
- Gi EventBridge tillatelse til å påta seg rollen ved å legge til følgende tillitspolicy:
Alternativt, hvis du bruker en annen rolle til å kjøre behandlingsjobben, kan du bruke retningslinjene som er skissert i trinn 2 og 3 på den rollen. For detaljer om IAM-konfigurasjonen, se Opprett en tidsplan for automatisk behandling av nye data.
Lag en tidsplan
For å lage en tidsplan, få flyten din åpnet i Data Wrangler flytredigerer.
- På Dataflyt kategorien, velg Lag jobb.
- Konfigurer de nødvendige feltene og velg Neste, 2. Konfigurer jobb.
- Expand Tilknyttede tidsplaner.
- Velg Lag ny tidsplan.
De Lag ny tidsplan dialogen åpnes, der du definerer detaljene for behandlingsjobbplanen.
Dialogen tilbyr stor fleksibilitet for å hjelpe deg med å definere tidsplanen. Du kan for eksempel ha behandlingsjobben i gang på et bestemt tidspunkt eller hver X time, på bestemte dager i uken.
Periodisiteten kan være granulær til nivået av minutter. - Definer tidsplanens navn og periodisitet, og velg deretter Opprett for å lagre tidsplanen.
- Du har muligheten til å starte behandlingsjobben med en gang sammen med planleggingen, som tar seg av fremtidige kjøringer, eller la jobben bare kjøre i henhold til tidsplanen.
- Du kan også definere en ekstra tidsplan for samme behandlingsjobb.
- For å fullføre tidsplanen for behandlingsjobben, velg Opprett.
Du ser en "Jobb planlagt vellykket"-melding. I tillegg, hvis du velger å la jobben bare kjøre i henhold til tidsplanen, ser du en lenke til EventBridge-regelen du nettopp opprettet.
Hvis du velger tidsplankoblingen, åpnes en ny fane i nettleseren som viser EventBridge-regelen. På denne siden kan du gjøre ytterligere endringer i regelen og spore påkallingshistorikken. For å stoppe den planlagte behandlingsjobben fra å kjøre, slett hendelsesregelen som inneholder tidsplannavnet.
EventBridge-regelen viser en SageMaker-pipeline som sitt mål, som utløses i henhold til den definerte tidsplanen, og behandlingsjobben som påkalles som en del av pipelinen.
For å spore løpene til SageMaker-pipelinen kan du gå tilbake til Studio, velge SageMaker-ressurser ikonet, velg Rørledninger, og velg rørledningsnavnet du vil spore. Du kan nå se en tabell med alle nåværende og tidligere kjøringer og status for den rørledningen.
Du kan se flere detaljer ved å dobbeltklikke på en spesifikk oppføring.
Rydd opp
Når du ikke bruker Data Wrangler, anbefales det å slå av forekomsten den kjører på for å unngå ekstra avgifter.
For å unngå å miste arbeid, lagre dataflyten før du slår av Data Wrangler.
- For å lagre dataflyten din i Studio, velg filet, velg deretter Lagre data Wrangler Flow. Data Wrangler lagrer automatisk dataflyten hvert 60. sekund.
- For å slå av Data Wrangler-forekomsten, i Studio, velg Kjører forekomster og kjerner.
- Under KJØRER APPER, velg avslutningsikonet ved siden av
sagemaker-data-wrangler-1.0
app. - Velg Slå av alt å bekrefte.
Data Wrangler kjører på en ml.m5.4xlarge instans. Denne instansen forsvinner fra KJØRINGSINSTANSER når du slår av Data Wrangler-appen.
Etter at du har slått av Data Wrangler-appen, må den starte på nytt neste gang du åpner en Data Wrangler-flytfil. Dette kan ta noen minutter.
konklusjonen
I dette innlegget demonstrerte vi hvordan du kan bruke parametere til å importere datasettene dine ved hjelp av Data Wrangler-flyter og lage datatransformasjonsjobber på dem. Parameteriserte datasett gir mer fleksibilitet på datasettene du bruker og lar deg gjenbruke flytene dine. Vi demonstrerte også hvordan du kan sette opp planlagte jobber for å automatisere datatransformasjonene og eksportene dine til enten Amazon S3 eller Feature Store, på tidspunktet og periodisiteten som passer dine behov, direkte fra Data Wranglers brukergrensesnitt.
For å lære mer om bruk av dataflyter med Data Wrangler, se Opprett og bruk en Data Wrangler-flyt og Amazon SageMaker-priser. For å komme i gang med Data Wrangler, se Forbered ML-data med Amazon SageMaker Data Wrangler.
Om forfatterne
David Laredo er en Prototyping Architect for Prototyping and Cloud Engineering-teamet hos Amazon Web Services, hvor han har hjulpet med å utvikle flere maskinlæringsprototyper for AWS-kunder. Han har jobbet med maskinlæring de siste 6 årene, trent og finjustert ML-modeller og implementert ende-til-ende rørledninger for å produsere disse modellene. Hans interesseområder er NLP, ML-applikasjoner og ende-til-ende ML.
Givanildo Alves er en Prototyping Architect med Prototyping and Cloud Engineering-teamet hos Amazon Web Services, og hjelper kunder med å innovere og akselerere ved å vise kunsten mulig på AWS, etter å ha implementert flere prototyper rundt kunstig intelligens. Han har en lang karriere innen programvareteknikk og har tidligere jobbet som programvareutviklingsingeniør hos Amazon.com.br.
Adrian Fuentes er en programleder med Prototyping and Cloud Engineering-teamet hos Amazon Web Services, og innoverer for kunder innen maskinlæring, IoT og blockchain. Han har over 15 års erfaring med å lede og implementere prosjekter og 1 års ansettelse på AWS.
- AI
- ai kunst
- ai art generator
- du har en robot
- Amazon maskinlæring
- Amazon SageMaker Data Wrangler
- Kunngjøringer
- kunstig intelligens
- sertifisering av kunstig intelligens
- kunstig intelligens i bankvirksomhet
- kunstig intelligens robot
- kunstig intelligens roboter
- programvare for kunstig intelligens
- AWS maskinlæring
- blockchain
- blockchain konferanse ai
- coingenius
- samtale kunstig intelligens
- kryptokonferanse ai
- dall sin
- databehandling
- dyp læring
- google det
- Middels (200)
- maskinlæring
- Parameteriserte datasett
- plato
- plato ai
- Platon Data Intelligence
- Platon spill
- PlatonData
- platogaming
- skala ai
- Planlagte jobber
- syntaks
- Teknisk fremgangsmåte
- zephyrnet