Forbered data fra Amazon EMR til maskinlæring ved hjælp af Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Forbered data fra Amazon EMR til maskinlæring ved hjælp af Amazon SageMaker Data Wrangler

Dataforberedelse er en hovedkomponent i pipelines for maskinlæring (ML). Faktisk anslås det, at dataprofessionelle bruger omkring 80 procent af deres tid på dataforberedelse. På dette intensive konkurrenceprægede marked ønsker teams at analysere data og udtrække mere meningsfuld indsigt hurtigt. Kunder vedtager mere effektive og visuelle måder at bygge databehandlingssystemer på.

Amazon SageMaker Data Wrangler forenkler dataforberedelsen og funktionskonstruktionsprocessen, hvilket reducerer den tid, det tager fra uger til minutter, ved at tilbyde en enkelt visuel grænseflade til dataforskere til at udvælge, rense data, oprette funktioner og automatisere dataforberedelse i ML-arbejdsgange uden at skrive nogen kode. Du kan importere data fra flere datakilder, som f.eks Amazon Simple Storage Service (Amazon S3), Amazonas Athena, Amazon rødforskydning, og Snefnug. Du kan nu også bruge Amazon EMR som datakilde i Data Wrangler for nemt at forberede data til ML.

Analyse, transformation og forberedelse af store mængder data er et grundlæggende trin i enhver datavidenskab og ML-workflow. Dataprofessionelle såsom dataforskere ønsker at udnytte kraften i Apache Spark, Hiveog Presto kører på Amazon EMR for hurtig dataforberedelse, men indlæringskurven er stejl. Vores kunder ønskede muligheden for at oprette forbindelse til Amazon EMR for at køre ad hoc SQL-forespørgsler på Hive eller Presto for at forespørge data i det interne metalager eller eksternt metalager (f.eks. AWS Glue Data Catalog) og forberede data inden for få klik.

Denne blogartikel vil diskutere, hvordan kunder nu kan finde og oprette forbindelse til eksisterende Amazon EMR-klynger ved hjælp af en visuel oplevelse i SageMaker Data Wrangler. De kan visuelt inspicere databasen, tabellerne, skemaet og Presto-forespørgsler for at forberede sig til modellering eller rapportering. De kan derefter hurtigt profilere data ved hjælp af en visuel grænseflade til at vurdere datakvaliteten, identificere abnormiteter eller manglende eller fejlagtige data og modtage information og anbefalinger om, hvordan de løser disse problemer. Derudover kan de analysere, rense og konstruere funktioner ved hjælp af mere end et dusin ekstra indbyggede analyser og 300+ ekstra indbyggede transformationer understøttet af Spark uden at skrive en enkelt linje kode.

Løsningsoversigt 

Dataprofessionelle kan hurtigt finde og oprette forbindelse til eksisterende EMR-klynger ved hjælp af SageMaker Studio-konfigurationer. Derudover kan dataprofessionelle afslutte EMR-klynger med kun et par klik fra SageMaker Studio bruger foruddefinerede skabeloner og on-demand oprettelse af EMR-klynger. Ved hjælp af disse værktøjer kan kunderne hoppe direkte ind i SageMaker Studio universelle notesbog og skrive kode i Apache Spark, Hive, Presto eller PySpark for at udføre dataforberedelse i skala. På grund af en stejl indlæringskurve til oprettelse af Spark-kode til at forberede data, er det ikke alle dataprofessionelle, der er komfortable med denne procedure. Med Amazon EMR som datakilde til Amazon SageMaker Data Wrangler kan du nu hurtigt og nemt oprette forbindelse til Amazon EMR uden at skrive en enkelt kodelinje.

Følgende diagram repræsenterer de forskellige komponenter, der bruges i denne løsning.

Vi demonstrerer to autentificeringsmuligheder, der kan bruges til at etablere en forbindelse til EMR-klyngen. For hver mulighed implementerer vi en unik stak af AWS CloudFormation skabeloner.

CloudFormation-skabelonen udfører følgende handlinger, når hver mulighed er valgt:

  • Opretter et Studio-domæne i kun VPC-tilstand sammen med en navngivet brugerprofil studio-user.
  • Opretter byggeklodser, herunder VPC, endepunkter, undernet, sikkerhedsgrupper, EMR-klynge og andre nødvendige ressourcer for at kunne køre eksemplerne.
  • For EMR-klyngen forbinder AWS Glue Data Catalog som metastore for EMR Hive og Presto, opretter en Hive-tabel i EMR og udfylder den med data fra et amerikansk lufthavnsdatasæt.
  • For LDAP CloudFormation skabelonen, opretter en Amazon Elastic Compute Cloud (Amazon EC2) instans til at være vært for LDAP-serveren for at godkende Hive- og Presto LDAP-brugeren.

Mulighed 1: Lightweight Access Directory Protocol

Til LDAP-godkendelsesskabelonen CloudFormation leverer vi en Amazon EC2-instans med en LDAP-server og konfigurerer EMR-klyngen til at bruge denne server til godkendelse. Dette er TLS-aktiveret.

Mulighed 2: Ingen godkendelse

I No-Auth authentication CloudFormation-skabelonen bruger vi en standard EMR-klynge uden godkendelse aktiveret.

Implementer ressourcerne med AWS CloudFormation

Udfør følgende trin for at implementere miljøet:

  1. Log ind på AWS Management Console som en AWS Identity and Access Management (IAM) bruger, helst en admin-bruger.
  2. Vælg Start Stack for at starte CloudFormation-skabelonen for det relevante autentificeringsscenarie. Sørg for, at den region, der bruges til at implementere CloudFormation-stakken, ikke har noget eksisterende Studio Domain. Hvis du allerede har et studiedomæne i en region, kan du vælge en anden region.
    • LDAP-startstak
      Forbered data fra Amazon EMR til maskinlæring ved hjælp af Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Lodret søgning. Ai.
    • Ingen Auth Launch Stack
      Forbered data fra Amazon EMR til maskinlæring ved hjælp af Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Lodret søgning. Ai.
  3. Vælg Næste.
  4. Til Staknavn, indtast et navn til stakken (f.eks. dw-emr-blog).
  5. Lad de andre værdier være standard.
  6. Vælg for at fortsætte Næste fra stakdetaljer-siden og stakindstillinger. LDAP-stakken bruger følgende legitimationsoplysninger:
    • brugernavn: david
    • password:  welcome123
  7. På gennemgangssiden skal du markere afkrydsningsfeltet for at bekræfte, at AWS CloudFormation muligvis skaber ressourcer.
  8. Vælg Opret stak. Vent, indtil status for stakken ændres fra CREATE_IN_PROGRESS til CREATE_COMPLETE. Processen tager normalt 10-15 minutter.

Forbered data fra Amazon EMR til maskinlæring ved hjælp af Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Bemærk: Hvis du gerne vil prøve flere stakke, skal du følge trinene i afsnittet Ryd op. Husk at du skal slet SageMaker Studio Domain før den næste stak kan lanceres.

Konfigurer Amazon EMR som en datakilde i Data Wrangler

I dette afsnit dækker vi tilslutning til den eksisterende Amazon EMR-klynge oprettet gennem CloudFormation-skabelonen som en datakilde i Data Wrangler.

Opret et nyt dataflow

For at oprette dit dataflow skal du udføre følgende trin:

  1. Vælg på SageMaker-konsollen Amazon SageMaker Studio i navigationsruden.
  2. Vælg Åbent studie.
  3. Vælg i Launcher Nyt dataflow. Alternativt på File (Felt) rullemenuen, vælg Ny, og vælg derefter Data Wrangler-flow.
  4. Det kan tage et par minutter at oprette et nyt flow. Efter flowet er oprettet, ser du Import datoer .

Forbered data fra Amazon EMR til maskinlæring ved hjælp af Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Tilføj Amazon EMR som en datakilde i Data Wrangler

Vælg i menuen Tilføj datakilde Amazon EMR.

Forbered data fra Amazon EMR til maskinlæring ved hjælp af Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Du kan gennemse alle de EMR-klynger, som din Studio-udførelsesrolle har tilladelser til at se. Du har to muligheder for at oprette forbindelse til en klynge; den ene er gennem interaktiv brugergrænseflade, og den anden er til først oprette en hemmelighed ved hjælp af AWS Secrets Manager med JDBC URL, inklusive EMR-klyngeoplysninger, og angiv derefter den lagrede AWS-hemmelige ARN i brugergrænsefladen for at oprette forbindelse til Presto. I denne blog følger vi den første mulighed. Vælg en af ​​følgende klynger, som du vil bruge. Klik på Næste, og vælg endpoints.

Forbered data fra Amazon EMR til maskinlæring ved hjælp af Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Type Presto, forbinde til Amazon EMR, opret et navn for at identificere din forbindelse, og klik Næste.

Forbered data fra Amazon EMR til maskinlæring ved hjælp af Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Type Godkendelse skriv enten LDAP eller Ingen godkendelse, og klik Tilslut.

  • For Lightweight Directory Access Protocol (LDAP) skal du angive brugernavn og adgangskode, der skal godkendes.

Forbered data fra Amazon EMR til maskinlæring ved hjælp af Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Forbered data fra Amazon EMR til maskinlæring ved hjælp af Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

  • For No Authentication vil du blive forbundet til EMR Presto uden at give brugerlegitimationsoplysninger i VPC. Gå ind på Data Wranglers SQL Explorer-side for EMR.

Forbered data fra Amazon EMR til maskinlæring ved hjælp af Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Når du er tilsluttet, kan du interaktivt se et databasetræ og et eksempel på en tabel eller et skema. Du kan også forespørge, udforske og visualisere data fra EMR. Til forhåndsvisning vil du som standard se en grænse på 100 poster. For tilpasset forespørgsel kan du angive SQL-sætninger i forespørgselsredigeringsboksen, og når du klikker på Kør knappen, vil forespørgslen blive udført på EMR's Presto-motor.

Forbered data fra Amazon EMR til maskinlæring ved hjælp af Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Annuller forespørgsel knappen gør det muligt at annullere igangværende forespørgsler, hvis de tager usædvanlig lang tid.

Det sidste trin er at importere. Når du er klar med de forespurgte data, har du muligheder for at opdatere prøvetagningsindstillingerne for datavalget i henhold til prøveudtagningstypen (FirstK, Random eller Stratified) og prøvestørrelsen til import af data til Data Wrangler.

Klik Importere. Forberedelsessiden vil blive indlæst, så du kan tilføje forskellige transformationer og væsentlige analyser til datasættet.

Forbered data fra Amazon EMR til maskinlæring ved hjælp af Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Naviger til DataFlow fra den øverste skærm, og tilføj flere trin til flowet efter behov for transformationer og analyse. Du kan køre en dataindsigtsrapport for at identificere datakvalitetsproblemer og få anbefalinger til at løse disse problemer. Lad os se på nogle eksempler på transformationer.

Gå til dit dataflow, og dette er skærmen, du skal se. Det viser os, at vi bruger EMR som en datakilde ved hjælp af Presto-stikket.

Forbered data fra Amazon EMR til maskinlæring ved hjælp af Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Lad os klikke på knappen + til højre for Datatyper og vælge Tilføj transformation. Når du gør det, skulle følgende skærm dukke op:

Forbered data fra Amazon EMR til maskinlæring ved hjælp af Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Lad os udforske dataene. Vi ser, at den har flere funktioner som f.eks iata_kode, lufthavn, by, tilstand, land, breddegradog længde. Vi kan se, at hele datasættet er baseret i ét land, som er USA, og der mangler værdier i Latitude og Longitude. Manglende data kan forårsage skævhed i estimeringen af ​​parametre, og det kan reducere repræsentativiteten af ​​prøverne, så vi skal udføre nogle imputation og håndtere manglende værdier i vores datasæt.

Forbered data fra Amazon EMR til maskinlæring ved hjælp af Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Lad os klikke på Tilføj trin knappen på navigationslinjen til højre. Vælg Håndtag mangler. Konfigurationerne kan ses på de følgende skærmbilleder. Under Forvandle, Vælg Tilskrive. Vælg kolonnetypen som Numerisk og kolonnenavne Breddegrad , Længde. Vi vil imputere de manglende værdier ved hjælp af en omtrentlig medianværdi. Forhåndsvis og tilføj transformationen.

Forbered data fra Amazon EMR til maskinlæring ved hjælp af Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Forbered data fra Amazon EMR til maskinlæring ved hjælp af Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Lad os nu se på et andet eksempel på transformation. Når du bygger en maskinlæringsmodel, fjernes kolonner, hvis de er overflødige eller ikke hjælper din model. Den mest almindelige måde at fjerne en kolonne på er at droppe den. I vores datasæt er funktionen land kan droppes, da datasættet er specifikt til amerikanske lufthavnsdata. Lad os se, hvordan vi kan administrere kolonner. Lad os klikke på Tilføj trin knappen på navigationslinjen til højre. Vælg Administrer kolonner. Konfigurationerne kan ses på de følgende skærmbilleder. Under Transform, Vælg Drop kolonne, og under Kolonner til at slippe, Vælg Land.

Forbered data fra Amazon EMR til maskinlæring ved hjælp af Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Lodret søgning. Ai. Forbered data fra Amazon EMR til maskinlæring ved hjælp af Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Du kan fortsætte med at tilføje trin baseret på de forskellige transformationer, der kræves til dit datasæt. Lad os gå tilbage til vores dataflow. Du vil nu se yderligere to blokke, der viser de transformationer, vi udførte. I vores scenarie kan du se Tilskrive , Drop kolonne.

Forbered data fra Amazon EMR til maskinlæring ved hjælp af Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

ML-udøvere bruger meget tid på at lave funktionsteknologikode, anvende den på deres oprindelige datasæt, træne modeller på de konstruerede datasæt og evaluere modelnøjagtighed. I betragtning af den eksperimentelle karakter af dette arbejde, vil selv det mindste projekt føre til flere iterationer. Den samme funktionsingeniørkode køres ofte igen og igen, hvilket spilder tid og computerressourcer på at gentage de samme operationer. I store organisationer kan dette forårsage et endnu større tab af produktivitet, fordi forskellige teams ofte kører identiske opgaver eller endda skriver dubleret funktionsteknologi, fordi de ikke har kendskab til tidligere arbejde. For at undgå genbehandling af funktioner eksporterer vi nu vores transformerede funktioner til Amazon Feature Store. Lad os klikke på + knappen til højre for Drop kolonne. Vælg Eksporter til Og vælg Sagemaker Feature Store (via Jupyter notebook).

Forbered data fra Amazon EMR til maskinlæring ved hjælp af Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Du kan nemt eksportere dine genererede funktioner til SageMaker Feature Store ved at vælge den som destination. Du kan gemme funktionerne i en eksisterende funktionsgruppe eller oprette en ny.

Forbered data fra Amazon EMR til maskinlæring ved hjælp af Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Forbered data fra Amazon EMR til maskinlæring ved hjælp af Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Vi har nu oprettet funktioner med Data Wrangler og nemt gemt disse funktioner i Feature Store. Vi viste et eksempel på en arbejdsgang for funktionsudvikling i Data Wrangler UI. Derefter gemte vi disse funktioner i Feature Store direkte fra Data Wrangler ved at oprette en ny feature-gruppe. Til sidst kørte vi et behandlingsjob for at indlæse disse funktioner i Feature Store. Data Wrangler og Feature Store hjalp os sammen med at opbygge automatiske og gentagelige processer for at strømline vores dataforberedelsesopgaver med et minimum af kodning. Data Wrangler giver os også fleksibilitet til at automatisere det samme dataforberedelsesflow vha planlagte job. Vi kan også automatisere træning eller feature engineering med SageMaker Pipelines (via Jupyter Notebook) og implementere til Inference endpoint med SageMaker inference pipeline (via Jupyter Notebook).

Forbered data fra Amazon EMR til maskinlæring ved hjælp af Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Ryd op

Hvis dit arbejde med Data Wrangler er afsluttet, skal du vælge stakken, der er oprettet fra CloudFormation-siden, og slette den for at undgå at pådrage dig yderligere gebyrer.

Konklusion

I dette indlæg gik vi over, hvordan man opsætter Amazon EMR som en datakilde i Data Wrangler, hvordan man transformerer og analyserer et datasæt, og hvordan man eksporterer resultaterne til et dataflow til brug i en Jupyter-notesbog. Efter at have visualiseret vores datasæt ved hjælp af Data Wranglers indbyggede analytiske funktioner, forbedrede vi vores dataflow yderligere. Det faktum, at vi oprettede en dataforberedelsespipeline uden at skrive en enkelt kodelinje, er væsentlig.

For at komme i gang med Data Wrangler, se Forbered ML Data med Amazon SageMaker Data Wrangler, og se de seneste oplysninger om Data Wrangler produktside.


Om forfatterne

Forbered data fra Amazon EMR til maskinlæring ved hjælp af Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Lodret søgning. Ai. Ajjay Govindaram er Senior Solutions Architect hos AWS. Han arbejder med strategiske kunder, der bruger AI/ML til at løse komplekse forretningsproblemer. Hans erfaring ligger i at levere teknisk vejledning samt designassistance til beskedne til store AI/ML-applikationsimplementeringer. Hans viden spænder fra applikationsarkitektur til big data, analytics og machine learning. Han nyder at lytte til musik, mens han hviler sig, opleve udendørslivet og tilbringe tid med sine kære.

Forbered data fra Amazon EMR til maskinlæring ved hjælp af Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Lodret søgning. Ai.Isha Dua er en Senior Solutions Architect baseret i San Francisco Bay Area. Hun hjælper AWS-virksomhedskunder med at vokse ved at forstå deres mål og udfordringer og guider dem til, hvordan de kan opbygge deres applikationer på en cloud-native måde og samtidig sikre, at de er robuste og skalerbare. Hun brænder for maskinlæringsteknologier og miljømæssig bæredygtighed.

Forbered data fra Amazon EMR til maskinlæring ved hjælp af Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Lodret søgning. Ai.Rui Jiang er softwareudviklingsingeniør hos AWS med base i New York City-området. Hun er medlem af SageMaker Data Wrangler-teamet, der hjælper med at udvikle tekniske løsninger til AWS-virksomhedskunder for at opnå deres forretningsbehov. Uden for arbejdet nyder hun at udforske nye fødevarer, fitness, udendørs aktiviteter og at rejse.

Tidsstempel:

Mere fra AWS maskinindlæring