Data transformerer hvert felt og enhver virksomhed. Men da data vokser hurtigere end de fleste virksomheder kan holde styr på, er det en udfordrende ting at indsamle data og få værdi ud af disse data. EN moderne datastrategi kan hjælpe dig med at skabe bedre forretningsresultater med data. AWS leverer det mest komplette sæt af tjenester til ende-til-ende datarejse til at hjælpe dig låse op for værdi fra dine data og gør det til indsigt.
Dataforskere kan bruge op til 80 % af deres tid på at forberede data til maskinlæringsprojekter (ML). Denne forberedelsesproces er stort set udifferentieret og kedeligt arbejde og kan involvere flere programmerings-API'er og brugerdefinerede biblioteker. Amazon SageMaker Data Wrangler hjælper datavidenskabsfolk og dataingeniører med at forenkle og fremskynde tabel- og tidsseriedataforberedelse og funktionskonstruktion gennem en visuel grænseflade. Du kan importere data fra flere datakilder, som f.eks Amazon Simple Storage Service (Amazon S3), Amazonas Athena, Amazon rødforskydning, eller endda tredjepartsløsninger som Snowflake or DataBricks, og behandle dine data med over 300 indbyggede datatransformationer og et bibliotek af kodestykker, så du hurtigt kan normalisere, transformere og kombinere funktioner uden at skrive nogen kode. Du kan også medbringe dine tilpassede transformationer i PySpark, SQL eller Pandas.
Dette indlæg viser, hvordan du kan planlægge dine dataforberedelsesjob til at køre automatisk. Vi udforsker også den nye Data Wrangler-funktion af parametriserede datasæt, som giver dig mulighed for at specificere filerne, der skal inkluderes i et dataflow ved hjælp af parameteriserede URI'er.
Løsningsoversigt
Data Wrangler understøtter nu import af data ved hjælp af en parametriseret URI. Dette giver mulighed for yderligere fleksibilitet, fordi du nu kan importere alle datasæt, der matcher de angivne parametre, som kan være af typen String, Number, Datetime og Pattern, i URI'en. Derudover kan du nu udløse dine Data Wrangler-transformationsjob efter en tidsplan.
I dette indlæg opretter vi et eksempelflow med Titanic-datasættet for at vise, hvordan du kan begynde at eksperimentere med disse to nye Data Wranglers funktioner. For at downloade datasættet, se Titanic – Machine Learning from Disaster.
Forudsætninger
For at få alle de funktioner, der er beskrevet i dette indlæg, skal du køre den seneste kerneversion af Data Wrangler. For mere information, se Opdater data Wrangler. Derudover skal du løbe Amazon SageMaker Studio JupyterLab 3. Se den aktuelle version og opdatere den JupyterLab versionering.
Filstruktur
Til denne demonstration følger vi en simpel filstruktur, som du skal replikere for at reproducere de trin, der er beskrevet i dette indlæg.
- I studiet, oprette en ny notesbog.
- Kør følgende kodestykke for at oprette den mappestruktur, vi bruger (sørg for, at du er i den ønskede mappe i dit filtræ):
- Kopier
train.csv
,test.csv
filer fra det originale Titanic-datasæt til mappernetitanic_dataset/train
,titanic_dataset/test
, henholdsvis. - Kør følgende kodestykke for at udfylde mapperne med de nødvendige filer:
Vi opdeler train.csv
fil af Titanic-datasættet til ni forskellige filer, navngivet part_x
, hvor x er tallet på delen. Del 0 har de første 100 poster, del 1 de næste 100, og så videre indtil del 8. Hver nodemappe i filtræet indeholder en kopi af de ni dele af træningsdataene undtagen train
, test
mapper, som indeholder train.csv
, test.csv
.
Parametriserede datasæt
Data Wrangler-brugere kan nu angive parametre for de datasæt, der importeres fra Amazon S3. Datasætparametre er angivet i ressourcernes URI, og dets værdi kan ændres dynamisk, hvilket giver mulighed for mere fleksibilitet til at vælge de filer, vi vil importere. Parametre kan være af fire datatyper:
- nummer – Kan tage værdien af ethvert heltal
- String – Kan tage værdien af enhver tekststreng
- Mønster – Kan tage værdien af ethvert regulært udtryk
- Dato tid – Kan tage værdien af et hvilket som helst af de understøttede dato/tidsformater
I dette afsnit giver vi en gennemgang af denne nye funktion. Dette er kun tilgængeligt, når du har importeret dit datasæt til dit nuværende flow og kun for datasæt importeret fra Amazon S3.
- Fra dit dataflow skal du vælge plustegnet (+) ud for importtrinnet og vælge Rediger datasæt.
- Den foretrukne (og nemmeste) metode til at oprette nye parametre er ved at fremhæve et afsnit af din URI og vælge Opret tilpasset parameter på rullemenuen. Du skal angive fire ting for hver parameter, du vil oprette:
- Navn
- Type
- Standard værdi
- Beskrivelse
Her har vi lavet en String type parameter kaldetfilename_param
med en standardværdi påtrain.csv
. Nu kan du se parameternavnet omgivet af dobbelte parenteser, der erstatter den del af URI'en, som vi tidligere fremhævede. Fordi den definerede værdi for denne parameter vartrain.csv
, ser vi nu filentrain.csv
anført i importtabellen. - Når vi forsøger at skabe et transformationsjob, på Konfigurer job trin, ser vi nu en parametre sektion, hvor vi kan se en liste over alle vores definerede parametre.
- Valg af parameteren giver os mulighed for at ændre parameterens værdi, i dette tilfælde ændre inputdatasættet, der skal transformeres i henhold til det definerede flow.
Forudsat at vi ændrer værdien affilename_param
fratrain.csv
tilpart_0.csv
, tager forvandlingsjobbet nupart_0.csv
(forudsat at en fil med navnetpart_0.csv
findes under samme mappe) som dens nye inputdata. - Derudover, hvis du forsøger at eksportere dit flow til en Amazon S3-destination (via en Jupyter-notesbog), ser du nu en ny celle, der indeholder de parametre, du har defineret.
Bemærk, at parameteren tager deres standardværdi, men du kan ændre den ved at erstatte dens værdi iparameter_overrides
ordbog (mens ordbogens nøgler forbliver uændrede).
Derudover kan du oprette nye parametre fra parametre UI. - Åbn det ved at vælge parameterikonet ({{}}) placeret ved siden af Go mulighed; begge er placeret ved siden af URI-stiværdien.
En tabel åbnes med alle de parametre, der i øjeblikket findes på din flowfil (filename_param
på dette tidspunkt). - Du kan oprette nye parametre for dit flow ved at vælge Opret parameter.
Et pop op-vindue åbnes, så du kan oprette en ny brugerdefineret parameter. - Her har vi lavet en ny
example_parameter
som Taltype med en standardværdi på 0. Denne nyoprettede parameter er nu opført i parametre bord. Hvis du holder markøren over parameteren, vises mulighederne Redigere, Sletteog indsatte. - Fra inden for parametre UI, kan du indsætte en af dine parametre til URI'en ved at vælge den ønskede parameter og vælge indsatte.
Dette tilføjer parameteren til slutningen af din URI. Du skal flytte den til den ønskede sektion i din URI. - Skift parameterens standardværdi, anvend ændringen (fra modal), vælg Go, og vælg opdateringsikonet for at opdatere forhåndsvisningslisten ved hjælp af det valgte datasæt baseret på den nyligt definerede parameters værdi.Lad os nu udforske andre parametertyper. Antag, at vi nu har et datasæt opdelt i flere dele, hvor hver fil har et varenummer.
- Hvis vi ønsker at ændre filnummeret dynamisk, kan vi definere en nummerparameter som vist på det følgende skærmbillede.Bemærk, at den valgte fil er den, der matcher nummeret angivet i parameteren.
Lad os nu demonstrere, hvordan man bruger en Pattern-parameter. Antag, at vi vil importere allepart_1.csv
filer i alle mapperne undertitanic-dataset/
folder. Mønsterparametre kan tage ethvert gyldigt regulært udtryk; der er nogle regex-mønstre vist som eksempler. - Opret en mønsterparameter kaldet
any_pattern
for at matche enhver mappe eller fil undertitanic-dataset/
mappe med standardværdi.*
.Bemærk at jokertegnet ikke er en enkelt * (stjerne), men også har en prik. - Fremhæv
titanic-dataset/
del af stien og opret en tilpasset parameter. Denne gang vælger vi Mønster type.Dette mønster vælger alle de kaldede filerpart-1.csv
fra en af mapperne undertitanic-dataset/
.
En parameter kan bruges mere end én gang i en sti. I det følgende eksempel bruger vi vores nyoprettede parameterany_pattern
to gange i vores URI for at matche nogen af delfilerne i en af mapperne undertitanic-dataset/
.
Lad os endelig oprette en Datetime-parameter. Datetime-parametre er nyttige, når vi har at gøre med stier, der er opdelt efter dato og klokkeslæt, som dem, der genereres af Amazon Kinesis Data Firehose (Se Dynamisk partitionering i Kinesis Data Firehose). Til denne demonstration bruger vi dataene under datetime-data mappen. - Vælg den del af din sti, der er en dato/tid, og opret en tilpasset parameter. Vælg Dato tid parametertype.
Når du vælger datatypen Datetime, skal du udfylde flere detaljer. - Først og fremmest skal du angive et datoformat. Du kan vælge et hvilket som helst af de foruddefinerede dato/tidsformater eller oprette et brugerdefineret format.
For de foruddefinerede dato/tidsformater giver forklaringen et eksempel på en dato, der matcher det valgte format. Til denne demonstration vælger vi formatet åååå/MM/dd. - Angiv derefter en tidszone for dato/tidsværdierne.
Den aktuelle dato kan f.eks. være 1. januar 2022 i én tidszone, men den kan være 2. januar 2022 i en anden tidszone. - Til sidst kan du vælge tidsintervallet, som lader dig vælge rækken af filer, du vil inkludere i dit dataflow.
Du kan angive dit tidsinterval i timer, dage, uger, måneder eller år. For dette eksempel ønsker vi at få alle filerne fra det sidste år. - Giv en beskrivelse af parameteren og vælg Opret.
Hvis du bruger flere datasæt med forskellige tidszoner, konverteres tiden ikke automatisk. du skal forbehandle hver fil eller kilde for at konvertere den til én tidszone.De valgte filer er alle filerne under mapperne svarende til sidste års data. - Hvis vi nu opretter et datatransformationsjob, kan vi se en liste over alle vores definerede parametre, og vi kan tilsidesætte deres standardværdier, så vores transformationsjob vælger de angivne filer.
Planlæg behandlingsjob
Du kan nu planlægge behandlingsjob for at automatisere kørsel af datatransformationsjob og eksportere dine transformerede data til enten Amazon S3 eller Amazon SageMaker Feature Store. Du kan planlægge opgaverne med den tid og den periodicitet, der passer til dine behov.
Anvendelse af planlagte behandlingsjob Amazon Eventbridge regler for at planlægge jobbets kørsel. Derfor skal du som en forudsætning sørge for, at AWS identitets- og adgangsstyring (IAM) rolle, der bruges af Data Wrangler, nemlig Amazon SageMaker udfører rolle af Studio-forekomsten, har tilladelser til at oprette EventBridge-regler.
Konfigurer IAM
Fortsæt med følgende opdateringer på IAM SageMaker-udførelsesrollen, der svarer til Studio-forekomsten, hvor Data Wrangler-flowet kører:
- Vedhæft AmazonEventBridgeFullAccess styret politik.
- Vedhæft en politik for at give tilladelse til at oprette et behandlingsjob:
- Giv EventBridge tilladelse til at påtage sig rollen ved at tilføje følgende tillidspolitik:
Alternativt, hvis du bruger en anden rolle til at køre behandlingsjobbet, skal du anvende de politikker, der er beskrevet i trin 2 og 3, på den rolle. For detaljer om IAM-konfigurationen, se Opret en tidsplan for automatisk behandling af nye data.
Opret en tidsplan
For at oprette en tidsplan skal du få dit flow åbnet i Data Wrangler-floweditoren.
- På Dataflow fanebladet, vælg Skab job.
- Konfigurer de påkrævede felter og vælg Næste, 2. Konfigurer job.
- Udvid Associerede skemaer.
- Vælg Opret ny tidsplan.
Opret ny tidsplan dialog åbnes, hvor du definerer detaljerne for behandlingsjobplanen.
Dialogen giver stor fleksibilitet til at hjælpe dig med at definere tidsplanen. Du kan for eksempel have bearbejdningsjobbet kørende på et bestemt tidspunkt eller hver X time, på bestemte dage i ugen.
Periodiciteten kan være granulær til niveauet af minutter. - Definer tidsplanens navn og periodicitet, og vælg derefter Opret for at gemme tidsplanen.
- Du har mulighed for at starte behandlingsjobbet med det samme sammen med planlægningen, som tager sig af fremtidige kørsler, eller lade jobbet kun køre i henhold til tidsplanen.
- Du kan også definere en ekstra tidsplan for det samme behandlingsjob.
- Vælg for at afslutte tidsplanen for behandlingsopgaven Opret.
Du ser meddelelsen "Job planlagt vellykket". Derudover, hvis du vælger at lade jobbet kun køre i henhold til tidsplanen, ser du et link til EventBridge-reglen, som du lige har oprettet.
Hvis du vælger planlægningslinket, åbnes en ny fane i browseren, der viser EventBridge-reglen. På denne side kan du foretage yderligere ændringer af reglen og spore dens påkaldelseshistorik. For at stoppe dit planlagte behandlingsjob i at køre, skal du slette hændelsesreglen, der indeholder tidsplannavnet.
EventBridge-reglen viser en SageMaker-pipeline som dens mål, som udløses i henhold til den definerede tidsplan, og behandlingsjobbet påkaldes som en del af pipelinen.
For at spore kørslen af SageMaker-pipelinen kan du gå tilbage til Studio, vælge SageMaker ressourcer ikon, vælg Rørledninger, og vælg det pipelinenavn, du vil spore. Du kan nu se en tabel med alle nuværende og tidligere kørsler og status for den pågældende pipeline.
Du kan se flere detaljer ved at dobbeltklikke på en specifik post.
Ryd op
Når du ikke bruger Data Wrangler, anbefales det at lukke den instans, den kører på, for at undgå at pådrage sig yderligere gebyrer.
For at undgå at miste arbejde skal du gemme dit dataflow, før du lukker Data Wrangler ned.
- Vælg for at gemme dit dataflow i Studio File (Felt), Og vælg derefter Gem data Wrangler Flow. Data Wrangler gemmer automatisk dit dataflow hvert 60. sekund.
- For at lukke Data Wrangler-forekomsten ned i Studio skal du vælge Kører forekomster og kerner.
- Under KØRENDE APPS, skal du vælge nedlukningsikonet ved siden af
sagemaker-data-wrangler-1.0
ca. - Vælg Luk alt sammen at bekræfte.
Data Wrangler kører på en ml.m5.4xlarge instans. Denne instans forsvinder fra LØBENDE INSTANSER når du lukker Data Wrangler-appen ned.
Når du har lukket Data Wrangler-appen ned, skal den genstarte, næste gang du åbner en Data Wrangler-flowfil. Dette kan tage et par minutter.
Konklusion
I dette indlæg demonstrerede vi, hvordan du kan bruge parametre til at importere dine datasæt ved hjælp af Data Wrangler-flows og oprette datatransformationsjob på dem. Parametriserede datasæt giver mulighed for mere fleksibilitet på de datasæt, du bruger, og giver dig mulighed for at genbruge dine flows. Vi demonstrerede også, hvordan du kan konfigurere planlagte job til at automatisere dine datatransformationer og eksporter til enten Amazon S3 eller Feature Store, på det tidspunkt og den periodicitet, der passer til dine behov, direkte fra Data Wranglers brugergrænseflade.
For at lære mere om brug af datastrømme med Data Wrangler, se Opret og brug et datawrangler-flow , Amazon SageMaker-priser. For at komme i gang med Data Wrangler, se Forbered ML Data med Amazon SageMaker Data Wrangler.
Om forfatterne
David Laredo er Prototyping Architect for Prototyping og Cloud Engineering teamet hos Amazon Web Services, hvor han har hjulpet med at udvikle flere machine learning prototyper til AWS kunder. Han har arbejdet med maskinlæring i de sidste 6 år, trænet og finjusteret ML-modeller og implementeret end-to-end pipelines for at producere disse modeller. Hans interesseområder er NLP, ML-applikationer og end-to-end ML.
Givanildo Alves er en Prototyping Architect hos Prototyping and Cloud Engineering teamet hos Amazon Web Services, der hjælper kunder med at innovere og accelerere ved at vise kunsten at mulige på AWS, efter at have implementeret adskillige prototyper omkring kunstig intelligens. Han har en lang karriere inden for software engineering og har tidligere arbejdet som Software Development Engineer hos Amazon.com.br.
Adrian Fuentes er programleder hos Prototyping og Cloud Engineering-teamet hos Amazon Web Services, der innoverer for kunder inden for maskinlæring, IoT og blockchain. Han har over 15 års erfaring med at lede og implementere projekter og 1 års ansættelse på AWS.
- AI
- ai kunst
- ai kunst generator
- en robot
- Amazon maskinindlæring
- Amazon SageMaker Data Wrangler
- Meddelelser
- kunstig intelligens
- certificering af kunstig intelligens
- kunstig intelligens i banksektoren
- kunstig intelligens robot
- kunstig intelligens robotter
- software til kunstig intelligens
- AWS maskinindlæring
- blockchain
- blockchain konference ai
- coingenius
- samtale kunstig intelligens
- kryptokonference ai
- dalls
- databehandling
- dyb læring
- du har google
- Mellem (200)
- machine learning
- Parametriserede datasæt
- plato
- platon ai
- Platon Data Intelligence
- Platon spil
- PlatoData
- platogaming
- skala ai
- Planlagte job
- syntaks
- Teknisk vejledning
- zephyrnet