Conectați Amazon EMR și RStudio pe Amazon SageMaker

Conectați Amazon EMR și RStudio pe Amazon SageMaker

RStudio pe Amazon SageMaker este primul mediu de dezvoltare integrat (IDE) RStudio Workbench complet gestionat în cloud. Puteți lansa rapid IDE-ul familiar RStudio și puteți apela în sus și în jos resursele de calcul subiacente fără a vă întrerupe munca, facilitând construirea de soluții de învățare automată (ML) și de analiză în R la scară.

Împreună cu instrumente precum RStudio pe SageMaker, utilizatorii analizează, transformă și pregătesc cantități mari de date ca parte a științei datelor și a fluxului de lucru ML. Oamenii de știință de date și inginerii de date folosesc Apache Spark, Hive și Presto care rulează Amazon EMR pentru prelucrarea datelor pe scară largă. Folosind împreună RStudio pe SageMaker și Amazon EMR, puteți continua să utilizați IDE-ul RStudio pentru analiză și dezvoltare, în timp ce utilizați clustere gestionate Amazon EMR pentru procesarea datelor mai mari.

În această postare, demonstrăm cum vă puteți conecta RStudio pe domeniul SageMaker cu un cluster EMR.

Prezentare generală a soluțiilor

Folosim un Apache Livy conexiune pentru a depune a sclipitor job de la RStudio pe SageMaker la un cluster EMR. Acest lucru este demonstrat în diagrama următoare.

Domeniul de aplicare
Toate codurile prezentate în postare sunt disponibile în pagina noastră GitHub depozit. Implementăm următoarea arhitectură de soluții.

Connect Amazon EMR and RStudio on Amazon SageMaker PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Cerințe preliminare

Înainte de a implementa orice resurse, asigurați-vă că aveți toate cerințele pentru configurarea și utilizarea RStudio pe SageMaker și Amazon EMR:

De asemenea, vom crea o imagine RStudio personalizată pe SageMaker, așa că asigurați-vă că aveți Docker care rulează și toate permisiunile necesare. Pentru mai multe informații, consultați Utilizați o imagine personalizată pentru a vă aduce propriul mediu de dezvoltare în RStudio pe Amazon SageMaker.

Creați resurse cu AWS CloudFormation

Folosim un Formarea AWS Cloud stiva pentru a genera infrastructura necesară.

Dacă aveți deja un domeniu RStudio și un cluster EMR existent, puteți sări peste acest pas și să începeți să vă construiți RStudio personalizat pe imaginea SageMaker. Înlocuiți informațiile clusterului dvs. EMR și domeniului RStudio în locul clusterului EMR și domeniului RStudio create în această secțiune.

Lansarea acestei stive creează următoarele resurse:

  • Două subrețele private
  • cluster EMR Spark
  • AWS Adeziv baza de date si tabele
  • Domeniul SageMaker cu RStudio
  • Profil de utilizator SageMaker RStudio
  • Rol de serviciu IAM pentru domeniul SageMaker RStudio
  • Rolul de serviciu IAM pentru profilul de utilizator SageMaker RStudio

Parcurgeți următorii pași pentru a vă crea resursele:

Alege Lansați Stack pentru a crea stiva.

Connect Amazon EMR and RStudio on Amazon SageMaker PlatoBlockchain Data Intelligence. Vertical Search. Ai.

  1. Pe Creați stivă pagina, alege Pagina Următoare →.
  2. Pe Specificați detaliile stivei pagina, furnizați un nume pentru stiva dvs. și lăsați opțiunile rămase ca implicite, apoi alegeți Pagina Următoare →.
  3. Pe Configurați opțiunile stivei pagina, lăsați opțiunile implicite și alegeți Pagina Următoare →.
  4. Pe Pagina de revizuire, Selectați
  5. Recunosc că AWS CloudFormation ar putea crea resurse IAM cu nume personalizate și
  6. Recunosc că AWS CloudFormation ar putea necesita următoarea capacitate: CAPABILITY_AUTO_EXPAND.
  7. Alege Creați stivă.

Connect Amazon EMR and RStudio on Amazon SageMaker PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Șablonul generează cinci stive.

Connect Amazon EMR and RStudio on Amazon SageMaker PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Pentru a vedea clusterul EMR Spark care a fost creat, navigați la consola Amazon EMR. Veți vedea un cluster creat pentru dvs., numit sagemaker. Acesta este clusterul la care ne conectăm prin RStudio pe SageMaker.

Connect Amazon EMR and RStudio on Amazon SageMaker PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Construiți RStudio personalizat pe imaginea SageMaker

Am creat o imagine personalizată care va instala toate dependențele lui sparklyr și va stabili o conexiune la clusterul EMR creat de noi.

Dacă utilizați propriul cluster EMR și domeniul RStudio, modificați scripturile în consecință.

Asigurați-vă că Docker rulează. Începeți prin a intra în depozitul nostru de proiecte:

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

Acum vom construi imaginea Docker și o vom înregistra pe domeniul nostru RStudio pe SageMaker.

  1. Pe consola SageMaker, alegeți domenii în panoul de navigare.
  2. Alegeți domeniul select rstudio-domain.
  3. Pe Mediu inconjurator fila, alegeți Atașați imaginea.
    Connect Amazon EMR and RStudio on Amazon SageMaker PlatoBlockchain Data Intelligence. Vertical Search. Ai.
    Acum atașăm domeniului imaginea sparklyr pe care am creat-o mai devreme.
  4. Pentru Alegeți sursa imaginii, Selectați Imagine existentă.
  5. Selectați imaginea sparklyr pe care am construit-o.
    Connect Amazon EMR and RStudio on Amazon SageMaker PlatoBlockchain Data Intelligence. Vertical Search. Ai.
  6. Pentru Proprietățile imaginii, lăsați opțiunile implicite.
  7. Pentru Tipul imaginii, Selectați Imagine RStudio.
  8. Alege Trimite mesaj.
    Connect Amazon EMR and RStudio on Amazon SageMaker PlatoBlockchain Data Intelligence. Vertical Search. Ai.
    Validați că imaginea a fost adăugată la domeniu. Poate dura câteva minute pentru ca imaginea să se atașeze complet.
    Connect Amazon EMR and RStudio on Amazon SageMaker PlatoBlockchain Data Intelligence. Vertical Search. Ai.
  9. Când este disponibil, conectați-vă la RStudio pe consola SageMaker folosind rstudio-user profilul care a fost creat.
  10. De aici, creați o sesiune cu imaginea sparklyr pe care am creat-o mai devreme.
    Connect Amazon EMR and RStudio on Amazon SageMaker PlatoBlockchain Data Intelligence. Vertical Search. Ai.
    În primul rând, trebuie să ne conectăm la clusterul nostru EMR.
  11. În panoul de conexiuni, alegeți Conexiune nouă.
  12. Selectați fragmentul de cod de conectare la cluster EMR și alegeți Conectați-vă la Amazon EMR Cluster.
    Connect Amazon EMR and RStudio on Amazon SageMaker PlatoBlockchain Data Intelligence. Vertical Search. Ai.
    După rularea codului de conectare, veți vedea o conexiune Spark prin Livy, dar fără tabele.
    Connect Amazon EMR and RStudio on Amazon SageMaker PlatoBlockchain Data Intelligence. Vertical Search. Ai.
  13. Schimbați baza de date în credit_card:
    tbl_change_db(sc, “credit_card”)
  14. Alege Actualizează datele de conectare.
    Acum puteți vedea tabelele.
    Connect Amazon EMR and RStudio on Amazon SageMaker PlatoBlockchain Data Intelligence. Vertical Search. Ai.
  15. Acum, navigați la rstudio-sparklyr-code-walkthrough.md fișier.

Acesta are un set de transformări Spark pe care le putem folosi pe setul de date cardului nostru de credit pentru a-l pregăti pentru modelare. Următorul cod este un extras:

hai count() câte tranzacții sunt în tabelul de tranzacții. Dar mai întâi trebuie să punem în cache Utilizați tbl() Funcția.

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

Să rulăm o numărătoare a numărului de rânduri pentru fiecare tabel.

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

Acum haideți să ne înregistrăm tabelele ca Spark Data Frames și să le tragem în memoria cache la nivelul întregului cluster pentru o performanță mai bună. De asemenea, vom filtra antetul care este plasat în primul rând pentru fiecare tabel.

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')

Pentru a vedea lista completă de comenzi, consultați rstudio-sparklyr-code-walkthrough.md fișier.

A curăța

Pentru a curăța orice resurse pentru a evita costurile recurente, ștergeți șablonul CloudFormation rădăcină. De asemenea, ștergeți toate Serviciul Amazon Elastic File (Amazon EFS) monturi create și orice Serviciul Amazon de stocare simplă (Amazon S3) găleți și obiecte create.

Concluzie

Integrarea RStudio pe SageMaker cu Amazon EMR oferă o soluție puternică pentru analiza datelor și sarcinile de modelare în cloud. Conectând RStudio pe SageMaker și stabilind o conexiune Livy la Spark pe EMR, puteți profita de resursele de calcul ale ambelor platforme pentru procesarea eficientă a seturilor de date mari. RStudio, unul dintre cele mai utilizate IDE-uri pentru analiza datelor, vă permite să profitați de infrastructura complet gestionată, controlul accesului, rețelele și capacitățile de securitate ale SageMaker. Între timp, conexiunea Livy la Spark pe Amazon EMR oferă o modalitate de a efectua procesarea distribuită și scalarea sarcinilor de procesare a datelor.

Dacă sunteți interesat să aflați mai multe despre utilizarea acestor instrumente împreună, această postare servește ca punct de plecare. Pentru mai multe informații, consultați RStudio pe Amazon SageMaker. Dacă aveți sugestii sau îmbunătățiri ale funcțiilor, vă rugăm să creați o solicitare de extragere în depozitul nostru GitHub sau lăsați un comentariu la această postare!


Despre Autori

Connect Amazon EMR and RStudio on Amazon SageMaker PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Ryan Garner este un Data Scientist cu AWS Professional Services. Este pasionat să îi ajute pe clienții AWS să folosească R pentru a-și rezolva problemele Data Science și Machine Learning.


Connect Amazon EMR and RStudio on Amazon SageMaker PlatoBlockchain Data Intelligence. Vertical Search. Ai.
Raj Pathak
 este un arhitect senior de soluții și tehnolog specializat în servicii financiare (asigurări, banci, piețe de capital) și învățare automată. Este specializat în procesarea limbajului natural (NLP), modele de limbaj mari (LLM) și proiecte de infrastructură și operațiuni de învățare automată (MLOps).


Connect Amazon EMR and RStudio on Amazon SageMaker PlatoBlockchain Data Intelligence. Vertical Search. Ai.Saiteja Pudi
 este arhitect de soluții la AWS, cu sediul în Dallas, Texas. El lucrează la AWS de mai bine de 3 ani, ajutând clienții să obțină adevăratul potențial al AWS, fiind consilierul lor de încredere. El provine dintr-un mediu de dezvoltare de aplicații, interesat de Data Science și Machine Learning.

Timestamp-ul:

Mai mult de la Învățare automată AWS