Prepara i dati da Amazon EMR per il machine learning utilizzando Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Prepara i dati da Amazon EMR per il machine learning utilizzando Amazon SageMaker Data Wrangler

La preparazione dei dati è un componente principale delle pipeline di machine learning (ML). In effetti, si stima che i professionisti dei dati dedichino circa l'80% del proprio tempo alla preparazione dei dati. In questo mercato fortemente competitivo, i team vogliono analizzare i dati ed estrarre rapidamente informazioni più significative. I clienti stanno adottando modi più efficienti e visivi per costruire sistemi di elaborazione dati.

Gestore di dati di Amazon SageMaker semplifica il processo di preparazione dei dati e di ingegneria delle funzionalità, riducendo il tempo necessario da settimane a minuti fornendo un'unica interfaccia visiva per i data scientist per selezionare, pulire i dati, creare funzionalità e automatizzare la preparazione dei dati nei flussi di lavoro ML senza scrivere alcun codice. È possibile importare dati da più origini dati, ad esempio Servizio di archiviazione semplice Amazon (Amazon S3), Amazzone Atena, Amazon RedShifte Fiocco di neve. Ora puoi anche usare Amazon EMR come origine dati in Data Wrangler per preparare facilmente i dati per ML.

L'analisi, la trasformazione e la preparazione di grandi quantità di dati è un passaggio fondamentale di qualsiasi flusso di lavoro di data science e ML. I professionisti dei dati come i data scientist vogliono sfruttare il potere di Apache Spark, Alvearee Presto in esecuzione su Amazon EMR per una rapida preparazione dei dati, ma la curva di apprendimento è ripida. I nostri clienti desideravano la possibilità di connettersi ad Amazon EMR per eseguire query SQL ad hoc su Hive o Presto per interrogare i dati nel metastore interno o esterno (ad es. Catalogo dati di AWS Glue) e preparare i dati in pochi clic.

Questo articolo del blog discuterà di come i clienti possono ora trovare e connettersi ai cluster Amazon EMR esistenti utilizzando un'esperienza visiva in SageMaker Data Wrangler. Possono ispezionare visivamente il database, le tabelle, lo schema e le query Presto per prepararsi alla modellazione o al reporting. Possono quindi profilare rapidamente i dati utilizzando un'interfaccia visiva per valutare la qualità dei dati, identificare anomalie o dati mancanti o errati e ricevere informazioni e raccomandazioni su come affrontare questi problemi. Inoltre, possono analizzare, pulire e progettare funzionalità con l'ausilio di oltre una dozzina di analisi integrate aggiuntive e oltre 300 trasformazioni integrate aggiuntive supportate da Spark senza scrivere una sola riga di codice.

Panoramica della soluzione 

I professionisti dei dati possono trovare e connettersi rapidamente ai cluster EMR esistenti utilizzando le configurazioni di SageMaker Studio. Inoltre, i professionisti dei dati possono terminare i cluster EMR con pochi clic da SageMaker Studio utilizzando modelli predefiniti e creazione su richiesta di cluster EMR. Con l'aiuto di questi strumenti, i clienti possono entrare direttamente nel notebook universale SageMaker Studio e scrivere codice in Apache Spark, Hive, Presto o PySpark per eseguire la preparazione dei dati su larga scala. A causa della ripida curva di apprendimento per la creazione di codice Spark per preparare i dati, non tutti i professionisti dei dati sono a proprio agio con questa procedura. Con Amazon EMR come origine dati per Amazon SageMaker Data Wrangler, ora puoi connetterti rapidamente e facilmente ad Amazon EMR senza scrivere una sola riga di codice.

Il diagramma seguente rappresenta i diversi componenti utilizzati in questa soluzione.

Dimostriamo due opzioni di autenticazione che possono essere utilizzate per stabilire una connessione al cluster EMR. Per ogni opzione, distribuiamo uno stack univoco di AWS CloudFormazione modelli.

Il modello CloudFormation esegue le seguenti azioni quando ogni opzione è selezionata:

  • Crea un dominio Studio in modalità solo VPC, insieme a un profilo utente denominato studio-user.
  • Crea elementi costitutivi, inclusi VPC, endpoint, sottoreti, gruppi di sicurezza, cluster EMR e altre risorse necessarie per eseguire correttamente gli esempi.
  • Per il cluster EMR, collega il catalogo dati di AWS Glue come metastore per EMR Hive e Presto, crea una tabella Hive in EMR e la riempie con i dati di un set di dati di un aeroporto statunitense.
  • Per il modello LDAP CloudFormation, crea un file Amazon Elastic Compute Cloud (Amazon EC2) istanza per ospitare il server LDAP per autenticare l'utente Hive e Presto LDAP.

Opzione 1: Lightweight Access Directory Protocol

Per il modello CloudFormation di autenticazione LDAP, effettuiamo il provisioning di un'istanza Amazon EC2 con un server LDAP e configuriamo il cluster EMR per utilizzare questo server per l'autenticazione. Questo è TLS abilitato.

Opzione 2: Nessuna autenticazione

Nel modello CloudFormation di autenticazione No-Auth, utilizziamo un cluster EMR standard senza autenticazione abilitata.

Distribuisci le risorse con AWS CloudFormation

Completare i seguenti passaggi per distribuire l'ambiente:

  1. Accedi al Console di gestione AWS come AWS Identity and Access Management (IAM) utente, preferibilmente un utente amministratore.
  2. Scegli Avvia Stack per avviare il modello CloudFormation per lo scenario di autenticazione appropriato. Assicurati che la regione utilizzata per distribuire lo stack CloudFormation non disponga di Studio Domain esistente. Se disponi già di un dominio Studio in una regione, puoi scegliere un'altra regione.
    • Stack di avvio LDAP
      Prepara i dati da Amazon EMR per il machine learning utilizzando Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.
    • Nessuno stack di lancio di autenticazione
      Prepara i dati da Amazon EMR per il machine learning utilizzando Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.
  3. Scegli Avanti.
  4. Nel Nome dello stack, inserisci un nome per lo stack (ad esempio, dw-emr-blog).
  5. Lascia gli altri valori come predefiniti.
  6. Per continuare, scegli Avanti dalla pagina dei dettagli dello stack e dalle opzioni dello stack. Lo stack LDAP utilizza le seguenti credenziali:
    • username: david
    • password:  welcome123
  7. Nella pagina di revisione, seleziona la casella di controllo per confermare che AWS CloudFormation potrebbe creare risorse.
  8. Scegli Crea stack. Attendere finché lo stato dello stack non cambia da CREATE_IN_PROGRESS a CREATE_COMPLETE. Il processo richiede in genere 10-15 minuti.

Prepara i dati da Amazon EMR per il machine learning utilizzando Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Nota: se desideri provare più stack, segui i passaggi nella sezione Pulizia. Ricorda che devi eliminare il dominio SageMaker Studio prima che lo stack successivo possa essere lanciato con successo.

Configura Amazon EMR come origine dati in Data Wrangler

In questa sezione viene trattata la connessione al cluster Amazon EMR esistente creato tramite il modello CloudFormation come origine dati in Data Wrangler.

Crea un nuovo flusso di dati

Per creare il tuo flusso di dati, completa i seguenti passaggi:

  1. Sulla console di SageMaker, scegli Amazon Sage Maker Studio nel pannello di navigazione.
  2. Scegli Atelier aperto.
  3. Nel Launcher, scegli Nuovo flusso di dati. In alternativa, sul Compila il menu a discesa, scegli Nuovo, quindi scegli Flusso Data Wrangler.
  4. La creazione di un nuovo flusso può richiedere alcuni minuti. Dopo che il flusso è stato creato, vedrai il file Importa le date .

Prepara i dati da Amazon EMR per il machine learning utilizzando Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Aggiungi Amazon EMR come origine dati in Data Wrangler

Nel menu Aggiungi origine dati scegliere Amazon EMR.

Prepara i dati da Amazon EMR per il machine learning utilizzando Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Puoi sfogliare tutti i cluster EMR per i quali il tuo ruolo di esecuzione di Studio è autorizzato a visualizzare. Hai due opzioni per connetterti a un cluster; uno è attraverso l'interfaccia utente interattiva e l'altro è prima creare un segreto utilizzando AWS Secrets Manager con l'URL JDBC, incluse le informazioni sul cluster EMR, quindi fornire l'ARN segreto AWS archiviato nell'interfaccia utente per connettersi a Presto. In questo blog, seguiamo la prima opzione. Seleziona uno dei seguenti cluster che desideri utilizzare. Clicca su Avantie selezionare endpoint.

Prepara i dati da Amazon EMR per il machine learning utilizzando Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Seleziona Presto, connettersi Amazon EMR, creare un nome per identificare la connessione e fare clic Avanti.

Prepara i dati da Amazon EMR per il machine learning utilizzando Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Seleziona Autenticazione digitare, LDAP o Nessuna autenticazione, e fare clic Connettiti.

  • Per LDAP (Lightweight Directory Access Protocol), fornire nome utente e password per l'autenticazione.

Prepara i dati da Amazon EMR per il machine learning utilizzando Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Prepara i dati da Amazon EMR per il machine learning utilizzando Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

  • Per Nessuna autenticazione, sarai connesso a EMR Presto senza fornire le credenziali utente all'interno del VPC. Inserisci la pagina SQL Explorer di Data Wrangler per EMR.

Prepara i dati da Amazon EMR per il machine learning utilizzando Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Una volta connesso, puoi visualizzare in modo interattivo un albero del database e un'anteprima o uno schema della tabella. Puoi anche interrogare, esplorare e visualizzare i dati da EMR. Per l'anteprima, vedresti un limite di 100 record per impostazione predefinita. Per query personalizzate, è possibile fornire istruzioni SQL nella casella dell'editor di query e dopo aver fatto clic su Correre pulsante, la query verrà eseguita sul motore Presto di EMR.

Prepara i dati da Amazon EMR per il machine learning utilizzando Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Il Annulla domanda pulsante consente di annullare le query in corso se impiegano un tempo insolitamente lungo.

L'ultimo passaggio è l'importazione. Una volta che sei pronto con i dati interrogati, hai le opzioni per aggiornare le impostazioni di campionamento per la selezione dei dati in base al tipo di campionamento (FirstK, Casuale o Stratificato) e alla dimensione del campionamento per l'importazione dei dati in Data Wrangler.

Clicchi Importare. Verrà caricata la pagina di preparazione, che consente di aggiungere varie trasformazioni e analisi essenziali al set di dati.

Prepara i dati da Amazon EMR per il machine learning utilizzando Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Passare a DataFlow dalla schermata superiore e aggiungere altri passaggi al flusso secondo necessità per le trasformazioni e l'analisi. Puoi eseguire un rapporto di analisi dei dati per identificare i problemi di qualità dei dati e ottenere consigli per risolverli. Diamo un'occhiata ad alcuni esempi di trasformazioni.

Vai al tuo flusso di dati e questa è la schermata che dovresti vedere. Ci mostra che stiamo utilizzando EMR come origine dati utilizzando il connettore Presto.

Prepara i dati da Amazon EMR per il machine learning utilizzando Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Facciamo clic sul pulsante + a destra di Tipi di dati e selezioniamo Aggiungi trasformazione. Quando lo fai, dovrebbe apparire la seguente schermata:

Prepara i dati da Amazon EMR per il machine learning utilizzando Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Esploriamo i dati. Vediamo che ha più funzionalità come codice_iata, aeroporto, città, stato, nazione, latitudinee longitudine. Possiamo vedere che l'intero set di dati si basa su un paese, ovvero gli Stati Uniti, e mancano valori in Latitudine e Longitudine. I dati mancanti possono causare errori nella stima dei parametri e possono ridurre la rappresentatività dei campioni, quindi è necessario eseguire alcuni imputazione e gestire i valori mancanti nel nostro set di dati.

Prepara i dati da Amazon EMR per il machine learning utilizzando Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Clicchiamo su Aggiungi passaggio pulsante sulla barra di navigazione a destra. Selezionare Maniglia mancante. Le configurazioni possono essere visualizzate nelle seguenti schermate. Sotto Trasformare, select Imputare. Seleziona il tipo di colonna come Numerico e nomi delle colonne Latitudine ed Longitudine. Imputeremo i valori mancanti utilizzando un valore mediano approssimativo. Visualizza l'anteprima e aggiungi la trasformazione.

Prepara i dati da Amazon EMR per il machine learning utilizzando Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Prepara i dati da Amazon EMR per il machine learning utilizzando Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Diamo ora un'occhiata a un altro esempio di trasformazione. Quando crei un modello di machine learning, le colonne vengono rimosse se sono ridondanti o non aiutano il tuo modello. Il modo più comune per rimuovere una colonna è rilasciarla. Nel nostro set di dati, il file feature nazione può essere eliminato poiché il set di dati è specifico per i dati aeroportuali statunitensi. Vediamo come possiamo gestire le colonne. Facciamo clic sul Aggiungi passaggio pulsante sulla barra di navigazione a destra. Selezionare Gestisci colonne. Le configurazioni possono essere visualizzate nelle seguenti schermate. Sotto Trasformare, selezionare Colonna di rilascioe sotto Colonne da eliminare, selezionare Paese .

Prepara i dati da Amazon EMR per il machine learning utilizzando Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Ricerca verticale. Ai. Prepara i dati da Amazon EMR per il machine learning utilizzando Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Puoi continuare ad aggiungere passaggi in base alle diverse trasformazioni richieste per il tuo set di dati. Torniamo al nostro flusso di dati. Ora vedrai altri due blocchi che mostrano le trasformazioni che abbiamo eseguito. Nel nostro scenario, puoi vedere Imputare ed Colonna di rilascio.

Prepara i dati da Amazon EMR per il machine learning utilizzando Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

I professionisti del machine learning dedicano molto tempo alla creazione di codice di ingegneria delle funzionalità, applicandolo ai loro set di dati iniziali, addestrando i modelli sui set di dati ingegnerizzati e valutando l'accuratezza del modello. Data la natura sperimentale di questo lavoro, anche il progetto più piccolo porterà a molteplici iterazioni. Lo stesso codice di ingegneria delle funzionalità viene spesso eseguito più e più volte, sprecando tempo e risorse di calcolo per ripetere le stesse operazioni. Nelle organizzazioni di grandi dimensioni, ciò può causare una perdita di produttività ancora maggiore perché team diversi spesso eseguono lavori identici o addirittura scrivono codice di ingegneria delle funzionalità duplicato perché non sono a conoscenza del lavoro precedente. Per evitare la rielaborazione delle funzionalità, ora esporteremo le nostre funzionalità trasformate in Negozio di funzionalità Amazon. Facciamo clic sul + pulsante a destra di Colonna di rilascio. Selezionare Esporta a e scegli Sagemaker Feature Store (tramite notebook Jupyter).

Prepara i dati da Amazon EMR per il machine learning utilizzando Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Puoi esportare facilmente le funzionalità generate in Feature Store di SageMaker selezionandolo come destinazione. È possibile salvare le funzionalità in un gruppo di funzionalità esistente o crearne uno nuovo.

Prepara i dati da Amazon EMR per il machine learning utilizzando Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Prepara i dati da Amazon EMR per il machine learning utilizzando Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Ora abbiamo creato funzionalità con Data Wrangler e memorizzato facilmente tali funzionalità in Feature Store. Abbiamo mostrato un flusso di lavoro di esempio per la progettazione delle funzionalità nell'interfaccia utente di Data Wrangler. Quindi abbiamo salvato quelle funzionalità in Feature Store direttamente da Data Wrangler creando un nuovo gruppo di funzionalità. Infine, abbiamo eseguito un processo di elaborazione per inserire tali funzionalità in Feature Store. Data Wrangler e Feature Store insieme ci hanno aiutato a creare processi automatici e ripetibili per semplificare le nostre attività di preparazione dei dati con una codifica minima richiesta. Data Wrangler ci fornisce anche la flessibilità per automatizzare lo stesso flusso di preparazione dei dati utilizzando lavori programmati. Possiamo anche automatizzare la formazione o l'ingegnerizzazione delle funzionalità con SageMaker Pipelines (tramite Jupyter Notebook) e distribuire all'endpoint di inferenza con la pipeline di inferenza SageMaker (tramite Jupyter Notebook).

Prepara i dati da Amazon EMR per il machine learning utilizzando Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

ripulire

Se il tuo lavoro con Data Wrangler è completo, seleziona lo stack creato dalla pagina CloudFormation ed eliminalo per evitare di incorrere in costi aggiuntivi.

Conclusione

In questo post, abbiamo esaminato come configurare Amazon EMR come origine dati in Data Wrangler, come trasformare e analizzare un set di dati e come esportare i risultati in un flusso di dati da utilizzare in un notebook Jupyter. Dopo aver visualizzato il nostro set di dati utilizzando le funzionalità analitiche integrate di Data Wrangler, abbiamo ulteriormente migliorato il nostro flusso di dati. Il fatto che abbiamo creato una pipeline di preparazione dei dati senza scrivere una singola riga di codice è significativo.

Per iniziare con Data Wrangler, vedere Prepara i dati ML con Amazon SageMaker Data Wranglere vedere le informazioni più recenti sul Pagina del prodotto Data Wrangler.


Circa gli autori

Prepara i dati da Amazon EMR per il machine learning utilizzando Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Ricerca verticale. Ai. Ajjay Govindaram è Senior Solutions Architect presso AWS. Lavora con clienti strategici che utilizzano AI/ML per risolvere problemi aziendali complessi. La sua esperienza risiede nel fornire indicazioni tecniche e assistenza alla progettazione per distribuzioni di applicazioni AI/ML da modeste a grandi dimensioni. Le sue conoscenze spaziano dall'architettura delle applicazioni ai big data, all'analisi e all'apprendimento automatico. Gli piace ascoltare la musica mentre riposa, vivere la vita all'aria aperta e passare il tempo con i suoi cari.

Prepara i dati da Amazon EMR per il machine learning utilizzando Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.Isha Dua è un Senior Solutions Architect con sede nella San Francisco Bay Area. Aiuta i clienti aziendali di AWS a crescere comprendendo i loro obiettivi e le loro sfide e li guida su come possono progettare le loro applicazioni in modo cloud-native, assicurandosi che siano resilienti e scalabili. È appassionata di tecnologie di machine learning e sostenibilità ambientale.

Prepara i dati da Amazon EMR per il machine learning utilizzando Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.Rui Jiang è un Software Development Engineer presso AWS con sede nell'area di New York City. È un membro del team SageMaker Data Wrangler che aiuta a sviluppare soluzioni ingegneristiche per i clienti aziendali AWS per soddisfare le loro esigenze aziendali. Al di fuori del lavoro, le piace esplorare nuovi cibi, fitness, attività all'aperto e viaggiare.

Timestamp:

Di più da Apprendimento automatico di AWS