Συνδέστε το Amazon EMR και το RStudio στο Amazon SageMaker

Συνδέστε το Amazon EMR και το RStudio στο Amazon SageMaker

RStudio στο Amazon SageMaker είναι το πρώτο πλήρως διαχειριζόμενο περιβάλλον ανάπτυξης RStudio Workbench (IDE) του κλάδου στο cloud. Μπορείτε να εκκινήσετε γρήγορα το γνωστό RStudio IDE και να καλέσετε πάνω-κάτω τους υποκείμενους υπολογιστικούς πόρους χωρίς να διακόψετε την εργασία σας, καθιστώντας εύκολη τη δημιουργία λύσεων μηχανικής εκμάθησης (ML) και αναλυτικών στοιχείων σε R σε κλίμακα.

Σε συνδυασμό με εργαλεία όπως το RStudio στο SageMaker, οι χρήστες αναλύουν, μετασχηματίζουν και προετοιμάζουν μεγάλες ποσότητες δεδομένων ως μέρος της ροής εργασιών της επιστήμης δεδομένων και της ML. Οι επιστήμονες δεδομένων και οι μηχανικοί δεδομένων χρησιμοποιούν τα Apache Spark, Hive και Presto σε λειτουργία EMR Αμαζονίου για επεξεργασία δεδομένων μεγάλης κλίμακας. Χρησιμοποιώντας το RStudio στο SageMaker και στο Amazon EMR μαζί, μπορείτε να συνεχίσετε να χρησιμοποιείτε το RStudio IDE για ανάλυση και ανάπτυξη, ενώ χρησιμοποιείτε διαχειριζόμενα συμπλέγματα Amazon EMR για μεγαλύτερη επεξεργασία δεδομένων.

Σε αυτήν την ανάρτηση, δείχνουμε πώς μπορείτε να συνδέσετε το RStudio στον τομέα SageMaker με ένα σύμπλεγμα EMR.

Επισκόπηση λύσεων

Χρησιμοποιούμε ένα Απάτσι Λίβι σύνδεση για υποβολή α σπινθηροβόλος εργασία από το RStudio στο SageMaker σε ένα σύμπλεγμα EMR. Αυτό φαίνεται στο παρακάτω διάγραμμα.

Πεδίο εφαρμογής της λύσης
Όλος ο κώδικας που παρουσιάζεται στην ανάρτηση είναι διαθέσιμος στο δικό μας Αποθετήριο GitHub. Υλοποιούμε την ακόλουθη αρχιτεκτονική λύσης.

Συνδέστε το Amazon EMR και το RStudio στο Amazon SageMaker PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.

Προϋποθέσεις

Πριν από την ανάπτυξη οποιωνδήποτε πόρων, βεβαιωθείτε ότι έχετε όλες τις απαιτήσεις για τη ρύθμιση και τη χρήση του RStudio στο SageMaker και στο Amazon EMR:

Θα δημιουργήσουμε επίσης ένα προσαρμοσμένο RStudio στην εικόνα του SageMaker, επομένως βεβαιωθείτε ότι έχετε το Docker σε λειτουργία και όλα τα απαιτούμενα δικαιώματα. Για περισσότερες πληροφορίες, ανατρέξτε στο Χρησιμοποιήστε μια προσαρμοσμένη εικόνα για να φέρετε το δικό σας περιβάλλον ανάπτυξης στο RStudio στο Amazon SageMaker.

Δημιουργήστε πόρους με το AWS CloudFormation

Χρησιμοποιούμε ένα AWS CloudFormation στοίβα για τη δημιουργία της απαιτούμενης υποδομής.

Εάν έχετε ήδη έναν τομέα RStudio και ένα υπάρχον σύμπλεγμα EMR, μπορείτε να παραλείψετε αυτό το βήμα και να αρχίσετε να δημιουργείτε το προσαρμοσμένο RStudio σας στην εικόνα SageMaker. Αντικαταστήστε τις πληροφορίες του συμπλέγματος EMR και του τομέα RStudio στη θέση του συμπλέγματος EMR και του τομέα RStudio που δημιουργήθηκαν σε αυτήν την ενότητα.

Η εκκίνηση αυτής της στοίβας δημιουργεί τους ακόλουθους πόρους:

  • Δύο ιδιωτικά υποδίκτυα
  • EMR Spark cluster
  • Κόλλα AWS βάση δεδομένων και πίνακες
  • Τομέας SageMaker με RStudio
  • Προφίλ χρήστη SageMaker RStudio
  • Ρόλος υπηρεσίας IAM για τον τομέα SageMaker RStudio
  • Ρόλος υπηρεσίας IAM για το προφίλ χρήστη SageMaker RStudio

Ολοκληρώστε τα παρακάτω βήματα για να δημιουργήσετε τους πόρους σας:

Επιλέξτε Εκκίνηση στοίβας για να δημιουργήσετε τη στοίβα.

Συνδέστε το Amazon EMR και το RStudio στο Amazon SageMaker PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.

  1. Στις Δημιουργία στοίβας σελίδα, επιλέξτε Επόμενο.
  2. Στις Καθορίστε λεπτομέρειες στοίβας σελίδα, δώστε ένα όνομα για τη στοίβα σας και αφήστε τις υπόλοιπες επιλογές ως προεπιλογές και, στη συνέχεια, επιλέξτε Επόμενο.
  3. Στις Διαμόρφωση επιλογών στοίβας σελίδα, αφήστε τις επιλογές ως προεπιλογές και επιλέξτε Επόμενο.
  4. Στις Σελίδα αναθεώρησης, Επιλέξτε
  5. Αναγνωρίζω ότι το AWS CloudFormation μπορεί να δημιουργήσει πόρους IAM με προσαρμοσμένα ονόματα και
  6. Αναγνωρίζω ότι το AWS CloudFormation ενδέχεται να απαιτεί την ακόλουθη δυνατότητα: CAPABILITY_AUTO_EXPAND.
  7. Επιλέξτε Δημιουργία στοίβας.

Συνδέστε το Amazon EMR και το RStudio στο Amazon SageMaker PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.

Το πρότυπο δημιουργεί πέντε στοίβες.

Συνδέστε το Amazon EMR και το RStudio στο Amazon SageMaker PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.

Για να δείτε το σύμπλεγμα EMR Spark που δημιουργήθηκε, μεταβείτε στην κονσόλα Amazon EMR. Θα δείτε ένα σύμπλεγμα που δημιουργήθηκε για εσάς που ονομάζεται sagemaker. Αυτό είναι το σύμπλεγμα στο οποίο συνδεόμαστε μέσω του RStudio στο SageMaker.

Συνδέστε το Amazon EMR και το RStudio στο Amazon SageMaker PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.

Δημιουργήστε το προσαρμοσμένο RStudio στην εικόνα του SageMaker

Έχουμε δημιουργήσει μια προσαρμοσμένη εικόνα που θα εγκαταστήσει όλες τις εξαρτήσεις του sparklyr και θα δημιουργήσει μια σύνδεση με το σύμπλεγμα EMR που δημιουργήσαμε.

Εάν χρησιμοποιείτε το δικό σας σύμπλεγμα EMR και τομέα RStudio, τροποποιήστε τα σενάρια ανάλογα.

Βεβαιωθείτε ότι το Docker εκτελείται. Ξεκινήστε μπαίνοντας στο αποθετήριο του έργου μας:

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

Τώρα θα δημιουργήσουμε την εικόνα Docker και θα την καταχωρήσουμε στο RStudio μας στον τομέα SageMaker.

  1. Στην κονσόλα SageMaker, επιλέξτε Domains στο παράθυρο πλοήγησης.
  2. Επιλέξτε τον τομέα select rstudio-domain.
  3. Στις Περιβάλλον καρτέλα, επιλέξτε Επισύναψη εικόνας.
    Συνδέστε το Amazon EMR και το RStudio στο Amazon SageMaker PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.
    Τώρα επισυνάπτουμε την εικόνα sparklyr που δημιουργήσαμε νωρίτερα στον τομέα.
  4. Για Επιλέξτε πηγή εικόνας, Επιλέξτε Υπάρχουσα εικόνα.
  5. Επιλέξτε την εικόνα sparklyr που δημιουργήσαμε.
    Συνδέστε το Amazon EMR και το RStudio στο Amazon SageMaker PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.
  6. Για Ιδιότητες εικόνας, αφήστε τις επιλογές ως προεπιλογές.
  7. Για Τύπος εικόνας, Επιλέξτε Εικόνα RStudio.
  8. Επιλέξτε Υποβολη.
    Συνδέστε το Amazon EMR και το RStudio στο Amazon SageMaker PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.
    Επικυρώστε ότι η εικόνα έχει προστεθεί στον τομέα. Μπορεί να χρειαστούν μερικά λεπτά για να επισυναφθεί πλήρως η εικόνα.
    Συνδέστε το Amazon EMR και το RStudio στο Amazon SageMaker PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.
  9. Όταν είναι διαθέσιμο, συνδεθείτε στο RStudio στην κονσόλα SageMaker χρησιμοποιώντας το rstudio-user προφίλ που δημιουργήθηκε.
  10. Από εδώ, δημιουργήστε μια περίοδο λειτουργίας με την εικόνα sparklyr που δημιουργήσαμε νωρίτερα.
    Συνδέστε το Amazon EMR και το RStudio στο Amazon SageMaker PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.
    Πρώτα, πρέπει να συνδεθούμε στο σύμπλεγμα EMR μας.
  11. Στο παράθυρο συνδέσεων, επιλέξτε Νέα σύνδεση.
  12. Επιλέξτε το απόσπασμα κώδικα σύνδεσης συμπλέγματος EMR και επιλέξτε Συνδεθείτε στο Amazon EMR Cluster.
    Συνδέστε το Amazon EMR και το RStudio στο Amazon SageMaker PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.
    Αφού εκτελεστεί ο κωδικός σύνδεσης, θα δείτε μια σύνδεση Spark μέσω του Livy, αλλά όχι πίνακες.
    Συνδέστε το Amazon EMR και το RStudio στο Amazon SageMaker PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.
  13. Αλλάξτε τη βάση δεδομένων σε credit_card:
    tbl_change_db(sc, “credit_card”)
  14. Επιλέξτε Ανανέωση δεδομένων σύνδεσης.
    Τώρα μπορείτε να δείτε τους πίνακες.
    Συνδέστε το Amazon EMR και το RStudio στο Amazon SageMaker PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.
  15. Τώρα πλοηγηθείτε στο rstudio-sparklyr-code-walkthrough.md αρχείο.

Αυτό έχει ένα σύνολο μετασχηματισμών Spark που μπορούμε να χρησιμοποιήσουμε στο σύνολο δεδομένων της πιστωτικής μας κάρτας για να το προετοιμάσουμε για μοντελοποίηση. Ο παρακάτω κώδικας είναι ένα απόσπασμα:

Ας count() πόσες συναλλαγές υπάρχουν στον πίνακα συναλλαγών. Αλλά πρώτα πρέπει να αποθηκεύσουμε προσωρινά τη χρήση του tbl() λειτουργία.

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

Ας εκτελέσουμε μια καταμέτρηση του αριθμού των σειρών για κάθε πίνακα.

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

Τώρα ας καταχωρήσουμε τους πίνακές μας ως Spark Data Frames και ας τους τραβήξουμε στη μνήμη cache σε όλο το σύμπλεγμα για καλύτερη απόδοση. Θα φιλτράρουμε επίσης την κεφαλίδα που τοποθετείται στην πρώτη σειρά για κάθε πίνακα.

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

Για να δείτε την πλήρη λίστα των εντολών, ανατρέξτε στο rstudio-sparklyr-code-walkthrough.md αρχείο.

εκκαθάριση

Για να καθαρίσετε τυχόν πόρους για να αποφύγετε επαναλαμβανόμενα κόστη, διαγράψτε το ριζικό πρότυπο CloudFormation. Διαγράψτε επίσης όλα Amazon Elastic File Service Δημιουργήθηκαν βάσεις (Amazon EFS) και οποιαδήποτε Απλή υπηρεσία αποθήκευσης Amazon (Amazon S3) κάδοι και αντικείμενα που δημιουργήθηκαν.

Συμπέρασμα

Η ενσωμάτωση του RStudio στο SageMaker με το Amazon EMR παρέχει μια ισχυρή λύση για εργασίες ανάλυσης δεδομένων και μοντελοποίησης στο cloud. Συνδέοντας το RStudio στο SageMaker και δημιουργώντας μια σύνδεση Livy με το Spark στο EMR, μπορείτε να επωφεληθείτε από τους υπολογιστικούς πόρους και των δύο πλατφορμών για αποτελεσματική επεξεργασία μεγάλων συνόλων δεδομένων. Το RStudio, ένα από τα πιο ευρέως χρησιμοποιούμενα IDE για ανάλυση δεδομένων, σας επιτρέπει να επωφεληθείτε από τις πλήρως διαχειριζόμενες δυνατότητες υποδομής, ελέγχου πρόσβασης, δικτύωσης και ασφάλειας του SageMaker. Εν τω μεταξύ, η σύνδεση Livy με το Spark στο Amazon EMR παρέχει έναν τρόπο εκτέλεσης κατανεμημένης επεξεργασίας και κλιμάκωσης των εργασιών επεξεργασίας δεδομένων.

Εάν ενδιαφέρεστε να μάθετε περισσότερα σχετικά με τη χρήση αυτών των εργαλείων μαζί, αυτή η ανάρτηση χρησιμεύει ως σημείο εκκίνησης. Για περισσότερες πληροφορίες, ανατρέξτε στο RStudio στο Amazon SageMaker. Εάν έχετε οποιεσδήποτε προτάσεις ή βελτιώσεις λειτουργιών, δημιουργήστε ένα αίτημα έλξης στο αποθετήριο GitHub ή αφήστε ένα σχόλιο σε αυτήν την ανάρτηση!


Σχετικά με τους Συγγραφείς

Συνδέστε το Amazon EMR και το RStudio στο Amazon SageMaker PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.

Ράιαν Γκάρνερ είναι Επιστήμονας Δεδομένων με AWS Professional Services. Είναι παθιασμένος να βοηθά τους πελάτες του AWS να χρησιμοποιούν το R για να λύσουν τα προβλήματα Επιστήμης Δεδομένων και Μηχανικής Μάθησης.


Συνδέστε το Amazon EMR και το RStudio στο Amazon SageMaker PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.
Raj Pathak
 είναι Senior Solutions Architect και Τεχνολόγος με ειδίκευση στις Χρηματοοικονομικές Υπηρεσίες (Ασφάλειες, Τραπεζικές, Κεφαλαιαγορές) και Machine Learning. Ειδικεύεται στην Επεξεργασία Φυσικής Γλώσσας (NLP), στα Μεγάλα Μοντέλα Γλωσσών (LLM) και σε έργα υποδομής και λειτουργιών Μηχανικής Μάθησης (MLOps).


Συνδέστε το Amazon EMR και το RStudio στο Amazon SageMaker PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.Saiteja Pudi
 είναι αρχιτέκτονας λύσεων στην AWS, με έδρα το Ντάλας, Τέξας. Βρίσκεται στην AWS για περισσότερα από 3 χρόνια τώρα, βοηθώντας τους πελάτες να αντλήσουν τις πραγματικές δυνατότητες του AWS όντας ο έμπιστος σύμβουλός τους. Προέρχεται από ένα υπόβαθρο ανάπτυξης εφαρμογών, που ενδιαφέρεται για την Επιστήμη των Δεδομένων και τη Μηχανική Μάθηση.

Σφραγίδα ώρας:

Περισσότερα από Μηχανική εκμάθηση AWS