Connetti Amazon EMR e RStudio su Amazon SageMaker

Connetti Amazon EMR e RStudio su Amazon SageMaker

RStudio su Amazon SageMaker è il primo ambiente di sviluppo integrato (IDE) RStudio Workbench completamente gestito nel cloud. Puoi avviare rapidamente il familiare IDE RStudio e chiamare su e giù le risorse di calcolo sottostanti senza interrompere il tuo lavoro, semplificando la creazione di soluzioni di machine learning (ML) e di analisi in R su larga scala.

Insieme a strumenti come RStudio su SageMaker, gli utenti analizzano, trasformano e preparano grandi quantità di dati come parte del flusso di lavoro di data science e ML. I data scientist e gli ingegneri dei dati utilizzano Apache Spark, Hive e Presto in esecuzione Amazon EMR per l’elaborazione dei dati su larga scala. Utilizzando RStudio su SageMaker e Amazon EMR insieme, puoi continuare a utilizzare l'IDE RStudio per l'analisi e lo sviluppo, utilizzando al tempo stesso i cluster gestiti Amazon EMR per l'elaborazione di dati più ampia.

In questo post, dimostriamo come connettere il tuo RStudio sul dominio SageMaker con un cluster EMR.

Panoramica della soluzione

Usiamo un file Apache Livio connessione per inviare a scintillante lavoro da RStudio su SageMaker a un cluster EMR. Ciò è dimostrato nel diagramma seguente.

Ambito della soluzione
Tutto il codice dimostrato nel post è disponibile nel nostro Repository GitHub. Implementiamo la seguente architettura della soluzione.

Connetti Amazon EMR e RStudio su Amazon SageMaker PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Prerequisiti

Prima di distribuire qualsiasi risorsa, assicurati di disporre di tutti i requisiti per la configurazione e l'utilizzo di RStudio su SageMaker e Amazon EMR:

Creeremo anche un RStudio personalizzato sull'immagine SageMaker, quindi assicurati di avere Docker in esecuzione e tutte le autorizzazioni necessarie. Per ulteriori informazioni, fare riferimento a Utilizza un'immagine personalizzata per portare il tuo ambiente di sviluppo in RStudio su Amazon SageMaker.

Crea risorse con AWS CloudFormation

Usiamo un file AWS CloudFormazione stack per generare l'infrastruttura richiesta.

Se disponi già di un dominio RStudio e di un cluster EMR esistente, puoi saltare questo passaggio e iniziare a creare il tuo RStudio personalizzato sull'immagine SageMaker. Sostituisci le informazioni del tuo cluster EMR e del dominio RStudio al posto del cluster EMR e del dominio RStudio creati in questa sezione.

L'avvio di questo stack crea le seguenti risorse:

  • Due sottoreti private
  • Cluster EMR Spark
  • Colla AWS database e tabelle
  • Dominio SageMaker con RStudio
  • Profilo utente di SageMaker RStudio
  • Ruolo del servizio IAM per il dominio SageMaker RStudio
  • Ruolo del servizio IAM per il profilo utente SageMaker RStudio

Completa i seguenti passaggi per creare le tue risorse:

Scegli Avvia Stack per creare la pila.

Connetti Amazon EMR e RStudio su Amazon SageMaker PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

  1. Sulla Crea stack pagina, scegli Avanti.
  2. Sulla Specifica i dettagli dello stack page, fornisci un nome per il tuo stack e lascia le opzioni rimanenti come predefinite, quindi scegli Avanti.
  3. Sulla Configura le opzioni di stack pagina, lascia le opzioni come predefinite e scegli Avanti.
  4. Sulla Pagina di revisione, selezionare
  5. Riconosco che AWS CloudFormation potrebbe creare risorse IAM con nomi personalizzati ed
  6. Riconosco che AWS CloudFormation potrebbe richiedere la seguente funzionalità: CAPABILITY_AUTO_EXPAND.
  7. Scegli Crea stack.

Connetti Amazon EMR e RStudio su Amazon SageMaker PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Il modello genera cinque stack.

Connetti Amazon EMR e RStudio su Amazon SageMaker PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Per visualizzare il cluster EMR Spark creato, accedi alla console Amazon EMR. Vedrai un cluster creato per te chiamato sagemaker. Questo è il cluster a cui ci connettiamo tramite RStudio su SageMaker.

Connetti Amazon EMR e RStudio su Amazon SageMaker PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Crea l'RStudio personalizzato sull'immagine SageMaker

Abbiamo creato un'immagine personalizzata che installerà tutte le dipendenze di sparklyr e stabilirà una connessione al cluster EMR che abbiamo creato.

Se utilizzi il tuo cluster EMR e il dominio RStudio, modifica gli script di conseguenza.

Assicurati che Docker sia in esecuzione. Inizia entrando nel nostro repository di progetti:

cd sagemaker-rstudio-emr/sparklyr-image
./build-r-image.sh

Ora creeremo l'immagine Docker e la registreremo nel nostro RStudio sul dominio SageMaker.

  1. Sulla console di SageMaker, scegli Domini nel pannello di navigazione.
  2. Scegli il dominio select rstudio-domain.
  3. Sulla Ambiente scheda, scegliere Allega immagine.
    Connetti Amazon EMR e RStudio su Amazon SageMaker PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.
    Ora alleghiamo l'immagine sparklyr che abbiamo creato in precedenza al dominio.
  4. Nel Scegli la fonte dell'immagine, selezionare Immagine esistente.
  5. Seleziona l'immagine sparklyr che abbiamo creato.
    Connetti Amazon EMR e RStudio su Amazon SageMaker PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.
  6. Nel Proprietà dell'immagine, lascia le opzioni come predefinite.
  7. Nel Tipo di immagine, selezionare Immagine RStudio.
  8. Scegli Invio.
    Connetti Amazon EMR e RStudio su Amazon SageMaker PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.
    Convalida che l'immagine è stata aggiunta al dominio. Potrebbero essere necessari alcuni minuti affinché l'immagine venga allegata completamente.
    Connetti Amazon EMR e RStudio su Amazon SageMaker PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.
  9. Quando sarà disponibile, accedi a RStudio sulla console SageMaker utilizzando il file rstudio-user profilo che è stato creato.
  10. Da qui, crea una sessione con l'immagine sparklyr che abbiamo creato in precedenza.
    Connetti Amazon EMR e RStudio su Amazon SageMaker PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.
    Innanzitutto, dobbiamo connetterci al nostro cluster EMR.
  11. Nel riquadro delle connessioni, scegli Nuova connessione.
  12. Seleziona lo snippet di codice di connessione al cluster EMR e scegli Connettiti al cluster Amazon EMR.
    Connetti Amazon EMR e RStudio su Amazon SageMaker PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.
    Una volta eseguito il codice di connessione, vedrai una connessione Spark tramite Livy, ma nessuna tabella.
    Connetti Amazon EMR e RStudio su Amazon SageMaker PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.
  13. Cambia il database in credit_card:
    tbl_change_db(sc, “credit_card”)
  14. Scegli Aggiorna i dati di connessione.
    Ora puoi vedere le tabelle.
    Connetti Amazon EMR e RStudio su Amazon SageMaker PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.
  15. Ora vai al rstudio-sparklyr-code-walkthrough.md file.

Dispone di una serie di trasformazioni Spark che possiamo utilizzare sul set di dati della nostra carta di credito per prepararlo per la modellazione. Il codice seguente è un estratto:

Diamo count() quante transazioni ci sono nella tabella delle transazioni. Ma prima dobbiamo memorizzare nella cache Usa il file tbl() funzione.

users_tbl <- tbl(sc, "users")
cards_tbl <- tbl(sc, "cards")
transactions_tbl <- tbl(sc, "transactions")

Eseguiamo un conteggio del numero di righe per ogni tabella.

count(users_tbl)
count(cards_tbl)
count(transactions_tbl)

Ora registriamo le nostre tabelle come Spark Data Frames e le inseriamo nella cache di memoria a livello di cluster per ottenere prestazioni migliori. Filtreremo anche l'intestazione che viene posizionata nella prima riga di ciascuna tabella.

users_tbl <- tbl(sc, 'users') %>% filter(gender != 'Gender')
sdf_register(users_tbl, "users_spark")
tbl_cache(sc, 'users_spark')
users_sdf <- tbl(sc, 'users_spark') cards_tbl <- tbl(sc, 'cards') %>% filter(expire_date != 'Expires')
sdf_register(cards_tbl, "cards_spark")
tbl_cache(sc, 'cards_spark')
cards_sdf <- tbl(sc, 'cards_spark') transactions_tbl <- tbl(sc, 'transactions') %>% filter(amount != 'Amount')
sdf_register(transactions_tbl, "transactions_spark")
tbl_cache(sc, 'transactions_spark')
transactions_sdf <- tbl(sc, 'transactions_spark')

Per visualizzare l'elenco completo dei comandi, fare riferimento a rstudio-sparklyr-code-walkthrough.md file.

ripulire

Per ripulire eventuali risorse ed evitare di incorrere in costi ricorrenti, elimina il modello CloudFormation root. Elimina anche tutto Servizio file elastico Amazon (Amazon EFS) montaggi creati ed eventuali Servizio di archiviazione semplice Amazon (Amazon S3) bucket e oggetti creati.

Conclusione

L'integrazione di RStudio su SageMaker con Amazon EMR fornisce una potente soluzione per l'analisi dei dati e le attività di modellazione nel cloud. Collegando RStudio su SageMaker e stabilendo una connessione Livy a Spark su EMR, puoi sfruttare le risorse di calcolo di entrambe le piattaforme per un'elaborazione efficiente di set di dati di grandi dimensioni. RStudio, uno degli IDE più utilizzati per l'analisi dei dati, ti consente di sfruttare l'infrastruttura completamente gestita, il controllo degli accessi, le funzionalità di rete e di sicurezza di SageMaker. Nel frattempo, la connessione Livy a Spark su Amazon EMR fornisce un modo per eseguire l'elaborazione distribuita e il dimensionamento delle attività di elaborazione dei dati.

Se sei interessato a saperne di più sull'utilizzo combinato di questi strumenti, questo post funge da punto di partenza. Per ulteriori informazioni, fare riferimento a RStudio su Amazon SageMaker. Se hai suggerimenti o miglioramenti alle funzionalità, crea una richiesta pull sul nostro repository GitHub o lascia un commento su questo post!


Informazioni sugli autori

Connetti Amazon EMR e RStudio su Amazon SageMaker PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Ryan Garner è un Data Scientist con AWS Professional Services. È appassionato di aiutare i clienti AWS a utilizzare R per risolvere i loro problemi di data science e machine learning.


Connetti Amazon EMR e RStudio su Amazon SageMaker PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.
Raja Pathak
 è un Senior Solutions Architect e Tecnologo specializzato in Servizi Finanziari (Assicurazioni, Banche, Capital Markets) e Machine Learning. È specializzato in Natural Language Processing (NLP), Large Language Models (LLM) e progetti di infrastrutture e operazioni di Machine Learning (MLOps).


Connetti Amazon EMR e RStudio su Amazon SageMaker PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.Saiteja Pudi
 è un Solutions Architect presso AWS, con sede a Dallas, Tx. Collabora con AWS da più di 3 anni, aiutando i clienti a trarre il vero potenziale di AWS essendo il loro consulente di fiducia. Proviene da un background di sviluppo di applicazioni, interessato a Data Science e Machine Learning.

Timestamp:

Di più da Apprendimento automatico di AWS