Verbind Amazon EMR en RStudio op Amazon SageMaker

Verbind Amazon EMR en RStudio op Amazon SageMaker

RStudio op Amazon SageMaker is de eerste volledig beheerde RStudio Workbench geïntegreerde ontwikkelomgeving (IDE) in de cloud. U kunt snel de bekende RStudio IDE starten en de onderliggende rekenresources op- en afbellen zonder uw werk te onderbreken, waardoor het eenvoudig wordt om machine learning (ML) en analyseoplossingen in R op schaal te bouwen.

In combinatie met tools zoals RStudio op SageMaker analyseren, transformeren en bereiden gebruikers grote hoeveelheden gegevens voor als onderdeel van de datawetenschap en ML-workflow. Datawetenschappers en data-engineers gebruiken Apache Spark, Hive en Presto Amazon EMR voor grootschalige gegevensverwerking. Door RStudio op SageMaker en Amazon EMR samen te gebruiken, kunt u de RStudio IDE blijven gebruiken voor analyse en ontwikkeling, terwijl u door Amazon EMR beheerde clusters gebruikt voor grotere gegevensverwerking.

In dit bericht laten we zien hoe u uw RStudio op SageMaker-domein kunt verbinden met een EMR-cluster.

Overzicht oplossingen

We gebruiken een Apache Livius verbinding om een ​​in te dienen sprankelend taak van RStudio op SageMaker naar een EMR-cluster. Dit wordt gedemonstreerd in het volgende schema.

Reikwijdte van de oplossing
Alle code die in de post wordt gedemonstreerd, is beschikbaar in onze GitHub-repository. We implementeren de volgende oplossingsarchitectuur.

Verbind Amazon EMR en RStudio op Amazon SageMaker PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

Voorwaarden

Voordat u bronnen inzet, moet u ervoor zorgen dat u over alle vereisten beschikt voor het instellen en gebruiken van RStudio op SageMaker en Amazon EMR:

We bouwen ook een aangepaste RStudio op SageMaker-image, dus zorg ervoor dat Docker actief is en alle vereiste machtigingen heeft. Voor meer informatie, zie Gebruik een aangepaste afbeelding om uw eigen ontwikkelomgeving naar RStudio op Amazon SageMaker te brengen.

Creëer resources met AWS CloudFormation

We gebruiken een AWS CloudFormatie stack om de vereiste infrastructuur te genereren.

Als u al een RStudio-domein en een bestaand EMR-cluster heeft, kunt u deze stap overslaan en beginnen met het bouwen van uw aangepaste RStudio op SageMaker-image. Vervang de informatie van uw EMR-cluster en RStudio-domein in plaats van de EMR-cluster en RStudio-domein die in deze sectie zijn gemaakt.

Door deze stapel te starten, worden de volgende bronnen gemaakt:

  • Twee privé-subnetten
  • EMR Spark-cluster
  • AWS lijm database en tabellen
  • SageMaker-domein met RStudio
  • SageMaker RStudio-gebruikersprofiel
  • IAM-servicerol voor het SageMaker RStudio-domein
  • IAM-servicerol voor het gebruikersprofiel van SageMaker RStudio

Voer de volgende stappen uit om uw bronnen te maken:

Kies Start Stack om de stapel te maken.

Verbind Amazon EMR en RStudio op Amazon SageMaker PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

  1. Op de Maak een stapel pagina, kies Volgende.
  2. Op de Geef stapeldetails op pagina, geef een naam op voor uw stapel en laat de resterende opties als standaard staan, en kies vervolgens Volgende.
  3. Op de Configureer stapelopties pagina, laat de opties op standaard staan ​​en kies Volgende.
  4. Op de Beoordelingspaginaselecteer
  5. Ik erken dat AWS CloudFormation IAM-bronnen met aangepaste namen kan maken en
  6. Ik erken dat AWS CloudFormation mogelijk de volgende mogelijkheid vereist: CAPABILITY_AUTO_EXPAND.
  7. Kies Maak een stapel.

Verbind Amazon EMR en RStudio op Amazon SageMaker PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

De sjabloon genereert vijf stapels.

Verbind Amazon EMR en RStudio op Amazon SageMaker PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

Navigeer naar de Amazon EMR-console om het EMR Spark-cluster te zien dat is gemaakt. U ziet een cluster die voor u is gemaakt sagemaker. Dit is het cluster waarmee we verbinding maken via RStudio op SageMaker.

Verbind Amazon EMR en RStudio op Amazon SageMaker PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

Bouw de aangepaste RStudio op SageMaker-image

We hebben een aangepaste afbeelding gemaakt die alle afhankelijkheden van sparklyr installeert en een verbinding tot stand brengt met het EMR-cluster dat we hebben gemaakt.

Als u uw eigen EMR-cluster en RStudio-domein gebruikt, past u de scripts dienovereenkomstig aan.

Zorg ervoor dat Docker actief is. Begin door in onze projectrepository te gaan:

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

We gaan nu de Docker-image bouwen en registreren bij ons RStudio op SageMaker-domein.

  1. Kies op de SageMaker-console domeinen in het navigatievenster.
  2. Kies het domein select rstudio-domain.
  3. Op de Milieu tabblad, kies Voeg afbeelding toe.
    Verbind Amazon EMR en RStudio op Amazon SageMaker PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.
    Nu koppelen we de sparklyr-afbeelding die we eerder hebben gemaakt aan het domein.
  4. Voor Kies afbeeldingsbronselecteer Bestaande afbeelding.
  5. Selecteer de sparklyr-afbeelding die we hebben gemaakt.
    Verbind Amazon EMR en RStudio op Amazon SageMaker PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.
  6. Voor Afbeeldingseigenschappen, laat de opties standaard staan.
  7. Voor Beeldtypeselecteer RStudio-afbeelding.
  8. Kies Verzenden.
    Verbind Amazon EMR en RStudio op Amazon SageMaker PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.
    Bevestig dat de afbeelding is toegevoegd aan het domein. Het kan enkele minuten duren voordat de afbeelding volledig is gehecht.
    Verbind Amazon EMR en RStudio op Amazon SageMaker PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.
  9. Wanneer het beschikbaar is, meldt u zich aan bij de RStudio op SageMaker-console met behulp van de rstudio-user profiel dat is gemaakt.
  10. Maak vanaf hier een sessie met de sparklyr-afbeelding die we eerder hebben gemaakt.
    Verbind Amazon EMR en RStudio op Amazon SageMaker PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.
    Eerst moeten we verbinding maken met ons EMR-cluster.
  11. Kies in het verbindingenvenster Nieuwe verbinding.
  12. Selecteer het EMR-clusterverbindingscodefragment en kies Maak verbinding met Amazon EMR Cluster.
    Verbind Amazon EMR en RStudio op Amazon SageMaker PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.
    Nadat de verbindingscode is uitgevoerd, ziet u een Spark-verbinding via Livy, maar geen tabellen.
    Verbind Amazon EMR en RStudio op Amazon SageMaker PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.
  13. Wijzig de database in credit_card:
    tbl_change_db(sc, “credit_card”)
  14. Kies Verbindingsgegevens vernieuwen.
    Je kunt nu de tabellen zien.
    Verbind Amazon EMR en RStudio op Amazon SageMaker PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.
  15. Navigeer nu naar de rstudio-sparklyr-code-walkthrough.md bestand.

Dit heeft een reeks Spark-transformaties die we kunnen gebruiken in onze creditcardgegevensset om deze voor te bereiden op modellering. De volgende code is een uittreksel:

laten count() hoeveel transacties er in de transactietabel staan. Maar eerst moeten we cache Gebruik de tbl() functie.

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

Laten we het aantal rijen voor elke tabel tellen.

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

Laten we nu onze tabellen registreren als Spark Data Frames en ze naar de clusterbrede geheugencache trekken voor betere prestaties. We filteren ook de koptekst die voor elke tabel in de eerste rij wordt geplaatst.

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

Om de volledige lijst met commando's te zien, raadpleeg de rstudio-sparklyr-code-walkthrough.md bestand.

Opruimen

Verwijder de root CloudFormation-sjabloon om resources op te schonen om terugkerende kosten te voorkomen. Verwijder ook alles Amazon Elastic-bestandsservice (Amazon EFS) mounts gemaakt en eventuele Amazon eenvoudige opslagservice (Amazon S3) emmers en objecten gemaakt.

Conclusie

De integratie van RStudio op SageMaker met Amazon EMR biedt een krachtige oplossing voor data-analyse en modelleringstaken in de cloud. Door RStudio op SageMaker aan te sluiten en een Livy-verbinding tot stand te brengen met Spark op EMR, kunt u profiteren van de computerresources van beide platforms voor efficiënte verwerking van grote datasets. Met RStudio, een van de meest gebruikte IDE's voor gegevensanalyse, kunt u profiteren van de volledig beheerde infrastructuur, toegangscontrole, netwerk- en beveiligingsmogelijkheden van SageMaker. Ondertussen biedt de Livy-verbinding met Spark op Amazon EMR een manier om gedistribueerde verwerking en schaalvergroting van gegevensverwerkingstaken uit te voeren.

Als je meer wilt weten over het samen gebruiken van deze tools, dient dit bericht als startpunt. Voor meer informatie, zie RStudio op Amazon SageMaker. Als je suggesties of functieverbeteringen hebt, maak dan een pull-verzoek aan op onze GitHub-repo of laat een reactie achter op dit bericht!


Over de auteurs

Verbind Amazon EMR en RStudio op Amazon SageMaker PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

Ryan Garner is een datawetenschapper bij AWS Professional Services. Hij is gepassioneerd om AWS-klanten te helpen R te gebruiken om hun Data Science- en Machine Learning-problemen op te lossen.


Verbind Amazon EMR en RStudio op Amazon SageMaker PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.
Raj Pathak
 is een Senior Solutions Architect en technoloog, gespecialiseerd in financiële diensten (verzekeringen, banken, kapitaalmarkten) en machine learning. Hij is gespecialiseerd in Natural Language Processing (NLP), Large Language Models (LLM) en Machine Learning Infrastructure and Operations Projects (MLOps).


Verbind Amazon EMR en RStudio op Amazon SageMaker PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.Saiteja Pudi
 is een Solutions Architect bij AWS, gevestigd in Dallas, Tx. Hij werkt nu al meer dan 3 jaar bij AWS en helpt klanten het ware potentieel van AWS te benutten door hun vertrouwde adviseur te zijn. Hij heeft een achtergrond in applicatieontwikkeling en is geïnteresseerd in datawetenschap en machine learning.

Tijdstempel:

Meer van AWS-machine learning