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

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

Datavidenskab og dataingeniørteam bruger en betydelig del af deres tid i dataforberedelsesfasen af ​​en maskinlærings- (ML)-livscyklus på at udføre dataudvælgelse, rensning og transformationstrin. Det er et nødvendigt og vigtigt trin i enhver ML-arbejdsgang for at generere meningsfuld indsigt og forudsigelser, fordi dårlige data eller data af lav kvalitet i høj grad reducerer relevansen af ​​den afledte indsigt.

Dataingeniørteams er traditionelt ansvarlige for indtagelse, konsolidering og transformation af rådata til downstream-forbrug. Dataforskere har ofte behov for at foretage yderligere behandling af data til domænespecifikke ML-brugssager såsom naturligt sprog og tidsserier. For eksempel kan visse ML-algoritmer være følsomme over for manglende værdier, sparsomme funktioner eller outliers og kræve særlig overvejelse. Selv i tilfælde, hvor datasættet er i god stand, vil datavidenskabsmænd måske transformere funktionsfordelingerne eller skabe nye funktioner for at maksimere den indsigt, der opnås fra modellerne. For at nå disse mål skal dataforskere stole på dataingeniørteams for at imødekomme ønskede ændringer, hvilket resulterer i afhængighed og forsinkelse i modeludviklingsprocessen. Alternativt kan datavidenskabsteams vælge at udføre dataforberedelse og feature engineering internt ved hjælp af forskellige programmeringsparadigmer. Det kræver dog en investering af tid og kræfter i installation og konfiguration af biblioteker og rammer, hvilket ikke er ideelt, fordi den tid kan bruges bedre på at optimere modelydelsen.

Amazon SageMaker Data Wrangler forenkler dataforberedelsen og funktionsudviklingsprocessen, hvilket reducerer den tid, det tager at aggregere og forberede data til ML fra uger til minutter ved at tilbyde en enkelt visuel grænseflade, hvor dataforskere kan udvælge, rense og udforske deres datasæt. Data Wrangler tilbyder over 300 indbyggede datatransformationer for at hjælpe med at normalisere, transformere og kombinere funktioner 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ødforskydningog Snowflake. Du kan nu også bruge Databrikker som datakilde i Data Wrangler for nemt at forberede data til ML.

Databricks Lakehouse-platformen kombinerer de bedste elementer fra datasøer og datavarehuse for at levere pålidelighed, stærk styring og ydeevne af datavarehuse med åbenhed, fleksibilitet og maskinlæringsstøtte fra datasøer. Med Databricks som datakilde til Data Wrangler kan du nu hurtigt og nemt oprette forbindelse til Databricks, interaktivt forespørge data gemt i Databricks ved hjælp af SQL og forhåndsvise data før import. Derudover kan du samle dine data i Databricks med data, der er gemt i Amazon S3, og data, der forespørges gennem Amazon Athena, Amazon Redshift og Snowflake for at skabe det rigtige datasæt til din ML-brugssag.

I dette indlæg transformerer vi Lending Club Loan-datasættet ved hjælp af Amazon SageMaker Data Wrangler til brug i ML-modeltræning.

Løsningsoversigt

Følgende diagram illustrerer vores løsningsarkitektur.

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

Lending Club Loan-datasættet indeholder komplette lånedata for alle lån udstedt gennem 2007-2011, inklusive den aktuelle lånestatus og seneste betalingsoplysninger. Den har 39,717 rækker, 22 funktionskolonner og 3 måletiketter.

For at transformere vores data ved hjælp af Data Wrangler gennemfører vi følgende trin på højt niveau:

  1. Download og del datasættet.
  2. Opret et Data Wrangler-flow.
  3. Importer data fra Databricks til Data Wrangler.
  4. Importer data fra Amazon S3 til Data Wrangler.
  5. Slut dig til dataene.
  6. Anvend transformationer.
  7. Eksporter datasættet.

Forudsætninger

Indlægget antager, at du har en kørende Databricks-klynge. Hvis din klynge kører på AWS, skal du kontrollere, at du har følgende konfigureret:

Databricks opsætning

  • An instans profil med nødvendige tilladelser for at få adgang til en S3-bøtte
  • A bøttepolitik med påkrævede tilladelser til S3-målet

Følge Sikker adgang til S3 buckets ved hjælp af instansprofiler for det nødvendige AWS identitets- og adgangsstyring (IAM)-roller, S3-bucket-politik og Databricks-klyngekonfiguration. Sørg for, at Databricks-klyngen er konfigureret med den korrekte Instance Profile, valgt under de avancerede muligheder, for at få adgang til den ønskede S3-spand.

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

Når Databricks-klyngen er oppe og køre med den nødvendige adgang til Amazon S3, kan du hente JDBC URL fra din Databricks-klynge, der skal bruges af Data Wrangler til at oprette forbindelse til den.

Hent JDBC URL

For at hente JDBC URL'en skal du udføre følgende trin:

  1. I Databricks skal du navigere til clusters UI.
  2. Vælg din klynge.
  3. Konfiguration fanebladet, vælg Avancerede indstillinger.
  4. Under Avancerede indstillinger, Vælg JDBC/ODBC fane.
  5. Kopier JDBC URL.
    Forbered data fra Databricks til maskinlæring ved hjælp af Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Sørg for at erstatte din personlige adgang token i URL'en.

Data Wrangler opsætning

Dette trin forudsætter, at du har adgang til Amazon SageMaker, en forekomst af Amazon SageMaker Studio, og en Studio-bruger.

For at tillade adgang til Databricks JDBC-forbindelsen fra Data Wrangler, kræver Studio-brugeren følgende tilladelse:

  • secretsmanager:PutResourcePolicy

Følg nedenstående trin for at opdatere IAM-udførelsesrollen, der er tildelt Studio-brugeren med ovenstående tilladelse, som en IAM-administrativ bruger.

  1. På IAM-konsollen skal du vælge roller i navigationsruden.
  2. Vælg den rolle, der er tildelt din Studio-bruger.
  3. Vælg Tilføj tilladelser.
  4. Vælg Opret inline politik.
  5. For Service, vælg Secrets Manager.
  6. On handlinger, vælg Adgangsniveau.
  7. Vælg Administration af tilladelser.
  8. Vælg PutResourcePolicy.
  9. Til Ressourcer, vælg Specifik og vælg Enhver på denne konto.
    Forbered data fra Databricks til maskinlæring ved hjælp af Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Download og del datasættet

Du kan starte med download af datasættet. Til demonstrationsformål opdeler vi datasættet ved at kopiere funktionskolonnerne id, emp_title, emp_length, home_ownerog annual_inc at skabe en anden lån_2.csv fil. Vi fjerner de førnævnte kolonner fra den originale lånefil undtagen id kolonne og omdøb den originale fil til lån_1.csv. Upload lån_1.csv fil til Databrikker at lave en tabel loans_1 , lån_2.csv i en S3 spand.

Opret et Data Wrangler-flow

For oplysninger om forudsætninger for Data Wrangler, se Kom godt i gang med Data Wrangler.

Lad os komme i gang med at skabe et nyt dataflow.

  1. På Studio-konsollen, på File (Felt) menu, vælg Ny.
  2. Vælg Data Wrangler flow.
  3. Omdøb flowet som ønsket.
    Forbered data fra Databricks til maskinlæring ved hjælp af Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Alternativt kan du oprette et nyt dataflow fra Launcher.

  • På Studio-konsollen skal du vælge Amazon SageMaker Studio i navigationsruden.
  • Vælg Nyt dataflow.
    Forbered data fra Databricks til maskinlæring ved hjælp af Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Det kan tage et par minutter at oprette et nyt flow. Efter flowet er oprettet, ser du Import datoer .

Importer data fra Databricks til Data Wrangler

Dernæst satte vi Databricks (JDBC) op som en datakilde i Data Wrangler. For at importere data fra Databricks skal vi først tilføje Databricks som en datakilde.

  1. Import datoer fanen i dit Data Wrangler-flow, skal du vælge Tilføj datakilde.
  2. Vælg i rullemenuen Databricks (JDBC).
    Forbered data fra Databricks til maskinlæring ved hjælp af Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Importer data fra Databricks side, indtaster du dine klyngeoplysninger.

  1. Til Datasætnavn, indtast et navn, du vil bruge i flow-filen.
  2. Til Chauffør, vælg driveren com.simba.spark.jdbc.Driver.
  3. Til JDBC URL, skal du indtaste URL'en på din Databricks-klynge, du har fået tidligere.

URL'en skal ligne følgende format jdbc:spark://<serve- hostname>:443/default;transportMode=http;ssl=1;httpPath=<http- path>;AuthMech=3;UID=token;PWD=<personal-access-token>.

  1. Angiv følgende SQL SELECT-sætning i SQL-forespørgselseditoren:
    select * from loans_1

Hvis du valgte et andet tabelnavn, mens du uploadede data til Databricks, skal du erstatte lån_1 i ovenstående SQL-forespørgsel i overensstemmelse hermed.

I SQL forespørgsel afsnittet i Data Wrangler, kan du forespørge på enhver tabel, der er forbundet til JDBC Databricks-databasen. Den forudvalgte Aktiver prøveudtagning indstilling henter som standard de første 50,000 rækker i dit datasæt. Afhængigt af datasættets størrelse, fravælges Aktiver prøveudtagning kan resultere i længere importtid.

  1. Vælg Kør.

Kørsel af forespørgslen giver et eksempel på dit Databricks-datasæt direkte i Data Wrangler.
Forbered data fra Databricks til maskinlæring ved hjælp af Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

  1. Vælg Importere.
    Forbered data fra Databricks til maskinlæring ved hjælp af Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Data Wrangler giver fleksibiliteten til at oprette flere samtidige forbindelser til den ene Databricks-klynge eller flere klynger, hvis det kræves, hvilket muliggør analyse og forberedelse af kombinerede datasæt.

Importer dataene fra Amazon S3 til Data Wrangler

Lad os derefter importere loan_2.csv fil fra Amazon S3.

  1. På fanen Import skal du vælge Amazon S3 som datakilde.
    Forbered data fra Databricks til maskinlæring ved hjælp af Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Lodret søgning. Ai.
  2. Naviger til S3-spanden for at loan_2.csv fil.

Når du vælger CSV-filen, kan du forhåndsvise dataene.

  1. I Detaljer vælg Avanceret konfiguration for at være sikker Aktiver prøveudtagning er valgt og AFSNIT er valgt til Afgrænser.
  2. Vælg Importere.
    Forbered data fra Databricks til maskinlæring ved hjælp af Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Efter loans_2.csv Datasættet er importeret med succes, dataflowgrænsefladen viser både Databricks JDBC- og Amazon S3-datakilderne.

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

Slut dig til dataene

Nu hvor vi har importeret data fra Databricks og Amazon S3, lad os samle datasættene ved hjælp af en fælles unik identifikatorkolonne.

  1. Dataflow fane, for Datatyper, skal du vælge plustegnet for loans_1.
  2. Vælg Bliv Medlem.
    Forbered data fra Databricks til maskinlæring ved hjælp af Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Lodret søgning. Ai.
  3. Vælg den loans_2.csv fil som Højre datasæt.
  4. Vælg Konfigurer at opsætte tilslutningskriterierne.
    Forbered data fra Databricks til maskinlæring ved hjælp af Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Lodret søgning. Ai.
  5. Til Navn, indtast et navn til sammenføjningen.
  6. Til Deltag type, vælg Inner for dette indlæg.
  7. Vælg den id kolonne at deltage i.
  8. Vælg Indløs for at få vist det samlede datasæt.
  9. Vælg Tilføj for at tilføje det til datastrømmen.
    Forbered data fra Databricks til maskinlæring ved hjælp af Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Anvend transformationer

Data Wrangler kommer med over 300 indbyggede transformationer, som ikke kræver nogen kodning. Lad os bruge indbyggede transformationer til at forberede datasættet.

Drop kolonne

Først dropper vi den redundante ID-kolonne.

  1. På den sammenføjede knude skal du vælge plustegnet.
  2. Vælg Tilføj transformation.
    Forbered data fra Databricks til maskinlæring ved hjælp af Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Lodret søgning. Ai.
  3. Under Forvandler, vælge + Tilføj trin.
  4. Vælg Administrer kolonner.
  5. Til Transform, vælg Drop kolonne.
  6. Til Kolonner til at slippe, vælg kolonnen id_0.
  7. Vælg Eksempel.
    Forbered data fra Databricks til maskinlæring ved hjælp af Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Lodret søgning. Ai.
  8. Vælg Tilføj.

Formater streng

Lad os anvende strengformatering for at fjerne procentsymbolet fra int_rate , revol_util kolonner.

  1. data fane, under transformationer, vælg + Tilføj trin.
    Forbered data fra Databricks til maskinlæring ved hjælp af Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Lodret søgning. Ai.
  2. Vælg Formater streng.
  3. Til Transform, vælg Fjern tegn fra højre.

Data Wrangler giver dig mulighed for at anvende din valgte transformation på flere kolonner samtidigt.

  1. Til Input kolonner, vælg int_rate , revol_util.
  2. Til Tegn, der skal fjernes, gå ind %.
  3. Vælg Eksempel.
    Forbered data fra Databricks til maskinlæring ved hjælp af Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Lodret søgning. Ai.
  4. Vælg Tilføj.

Fremhæv tekst

Lad os nu vektorisere verification_status, en tekstfunktionskolonne. Vi konverterer tekstkolonnen til term frekvens-inverse dokumentfrekvens (TF-IDF) vektorer ved at anvende tælle vektorizeren og en standard tokenizer som beskrevet nedenfor. Data Wrangler giver også mulighed for at medbringe din egen tokenizer, hvis det ønskes.

  1. Under transformers, vælg + Tilføj trin.
  2. Vælg Fremhæv tekst.
  3. Til Transform, vælg Vektorer.
  4. Til Input kolonner, vælg verification_status.
  5. Vælg Eksempel.
    Forbered data fra Databricks til maskinlæring ved hjælp af Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Lodret søgning. Ai.
  6. Vælg Tilføj.

Eksporter datasættet

Efter at vi har anvendt flere transformationer på forskellige kolonnetyper, inklusive tekst, kategorisk og numerisk, er vi klar til at bruge det transformerede datasæt til ML-modeltræning. Det sidste trin er at eksportere det transformerede datasæt til Amazon S3. I Data Wrangler har du flere muligheder at vælge imellem for downstream-forbrug af transformationerne:

I dette indlæg drager vi fordel af Eksporter data valgmulighed i Transform view for at eksportere det transformerede datasæt direkte til Amazon S3.

  1. Vælg Eksporter data.
    Forbered data fra Databricks til maskinlæring ved hjælp af Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Lodret søgning. Ai.
  2. Til S3 placering, vælg Gennemse og vælg din S3 skovl.
  3. Vælg Eksporter data.
    Forbered data fra Databricks 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, luk din Data Wrangler-instans for at undgå ekstra gebyrer.

Konklusion

I dette indlæg dækkede vi, hvordan du hurtigt og nemt kan konfigurere og forbinde Databricks som en datakilde i Data Wrangler, interaktivt forespørge data gemt i Databricks ved hjælp af SQL og forhåndsvise data før import. Derudover har vi set på, hvordan du kan samle dine data i Databricks med data gemt i Amazon S3. Vi anvendte derefter datatransformationer på det kombinerede datasæt for at skabe en dataforberedelsespipeline. For at udforske flere data Wranglers analysefunktioner, herunder generering af mållækage og bias-rapporter, henvises til følgende blogindlæg Fremskynd dataforberedelsen ved hjælp af Amazon SageMaker Data Wrangler til forudsigelse af genindlæggelse af diabetiske patienter.

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 Produkt side.


Om forfatterne

Forbered data fra Databricks til maskinlæring ved hjælp af Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Lodret søgning. Ai.Roop Bains er Solutions Architect hos AWS med fokus på AI/ML. Han brænder for at hjælpe kunder med at innovere og nå deres forretningsmål ved hjælp af kunstig intelligens og maskinlæring. I sin fritid nyder Roop at læse og vandre.

Forbered data fra Databricks til maskinlæring ved hjælp af Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Lodret søgning. Ai.Igor Alekseev er Partner Solution Architect hos AWS i Data og Analytics. Igor arbejder sammen med strategiske partnere, der hjælper dem med at bygge komplekse, AWS-optimerede arkitekturer. Før han kom til AWS, som Data/Solution Architect, implementerede han mange projekter i Big Data, herunder flere datasøer i Hadoop-økosystemet. Som dataingeniør var han involveret i at anvende AI/ML til svindeldetektion og kontorautomatisering. Igors projekter var i en række forskellige brancher, herunder kommunikation, finans, offentlig sikkerhed, fremstilling og sundhedspleje. Tidligere arbejdede Igor som full stack ingeniør/tech lead.

Forbered data fra Databricks til maskinlæring ved hjælp af Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Lodret søgning. Ai.Huong Nguyen er Sr. Product Manager hos AWS. Hun leder brugeroplevelsen for SageMaker Studio. Hun har 13 års erfaring med at skabe kundebesatte og datadrevne produkter til både virksomheds- og forbrugerrum. I sin fritid nyder hun at læse, være i naturen og bruge tid sammen med sin familie.

Forbered data fra Databricks til maskinlæring ved hjælp af Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Lodret søgning. Ai.Henry Wang er softwareudviklingsingeniør hos AWS. Han sluttede sig for nylig til Data Wrangler-teamet efter sin eksamen fra UC Davis. Han har en interesse for datavidenskab og maskinlæring og laver 3D-print som en hobby.

Tidsstempel:

Mere fra AWS maskinindlæring