Προετοιμάστε δεδομένα σε κλίμακα στο Amazon SageMaker Studio χρησιμοποιώντας διαδραστικές συνεδρίες AWS Glue χωρίς διακομιστή, PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.

Προετοιμάστε δεδομένα σε κλίμακα στο Amazon SageMaker Studio χρησιμοποιώντας διαδραστικές συνεδρίες AWS Glue χωρίς διακομιστή

Στούντιο Amazon SageMaker είναι το πρώτο πλήρως ενσωματωμένο περιβάλλον ανάπτυξης (IDE) για μηχανική μάθηση (ML). Παρέχει μια ενιαία, βασισμένη στο web, οπτική διεπαφή όπου μπορείτε να εκτελέσετε όλα τα βήματα ανάπτυξης ML, συμπεριλαμβανομένης της προετοιμασίας δεδομένων και της κατασκευής, της εκπαίδευσης και της ανάπτυξης μοντέλων.

Κόλλα AWS είναι μια υπηρεσία ενοποίησης δεδομένων χωρίς διακομιστή που διευκολύνει την ανακάλυψη, προετοιμασία και συνδυασμό δεδομένων για αναλυτικά στοιχεία, ML και ανάπτυξη εφαρμογών. Το AWS Glue σάς δίνει τη δυνατότητα να συλλέγετε, να μετασχηματίζετε, να καθαρίζετε και να προετοιμάζετε απρόσκοπτα δεδομένα για αποθήκευση στις λίμνες δεδομένων και τους αγωγούς δεδομένων σας χρησιμοποιώντας μια ποικιλία δυνατοτήτων, όπως ενσωματωμένους μετασχηματισμούς.

Οι μηχανικοί δεδομένων και οι επιστήμονες δεδομένων μπορούν τώρα να προετοιμάσουν διαδραστικά δεδομένα σε κλίμακα χρησιμοποιώντας την ενσωματωμένη ενσωμάτωση του φορητού υπολογιστή Studio τους με συνεδρίες Spark χωρίς διακομιστή που διαχειρίζεται η AWS Glue. Έναρξη σε δευτερόλεπτα και αυτόματη διακοπή του υπολογισμού σε κατάσταση αδράνειας, Διαδραστικές συνεδρίες AWS Glue Παρέχετε ένα κατ' απαίτηση, υψηλής κλιμάκωσης, υποστήριξη Spark χωρίς διακομιστή για την επίτευξη επεκτάσιμης προετοιμασίας δεδομένων εντός του Studio. Τα αξιοσημείωτα οφέλη από τη χρήση διαδραστικών περιόδων σύνδεσης AWS Glue σε φορητούς υπολογιστές Studio περιλαμβάνουν:

  • Δεν υπάρχουν συμπλέγματα για παροχή ή διαχείριση
  • Δεν υπάρχουν αδρανείς ομάδες για να πληρώσετε
  • Δεν απαιτείται εκ των προτέρων διαμόρφωση
  • Δεν υπάρχει διαμάχη πόρων για το ίδιο περιβάλλον ανάπτυξης
  • Ο ίδιος χρόνος εκτέλεσης Spark χωρίς διακομιστή και η ίδια πλατφόρμα με τις εργασίες εξαγωγής, μετασχηματισμού και φόρτωσης (ETL) του AWS Glue

Σε αυτήν την ανάρτηση, σας δείχνουμε πώς να προετοιμάζετε δεδομένα σε κλίμακα στο Studio χρησιμοποιώντας διαδραστικές συνεδρίες AWS Glue χωρίς διακομιστή.

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

Για να εφαρμόσετε αυτήν τη λύση, ολοκληρώστε τα ακόλουθα βήματα υψηλού επιπέδου:

  1. Ενημερώστε την Διαχείριση ταυτότητας και πρόσβασης AWS Άδειες ρόλου (IAM).
  2. Εκκινήστε έναν διαδραστικό πυρήνα συνεδρίας AWS Glue.
  3. Διαμορφώστε τη διαδραστική συνεδρία σας.
  4. Προσαρμόστε τη διαδραστική συνεδρία σας και εκτελέστε έναν επεκτάσιμο φόρτο εργασίας προετοιμασίας δεδομένων.

Ενημερώστε τα δικαιώματα ρόλου IAM

Για να ξεκινήσετε, πρέπει να ενημερώσετε τον ρόλο εκτέλεσης IAM του χρήστη του Studio με τα απαιτούμενα δικαιώματα. Για λεπτομερείς οδηγίες, ανατρέξτε στο Δικαιώματα για διαδραστικές συνεδρίες Glue στο SageMaker Studio.

Προσθέτετε πρώτα τις διαχειριζόμενες πολιτικές στον εκτελεστικό σας ρόλο:

  1. Στην κονσόλα IAM, επιλέξτε ρόλους στο παράθυρο πλοήγησης.
  2. Βρείτε τον ρόλο εκτέλεσης του Studio που θα χρησιμοποιήσετε και επιλέξτε το όνομα του ρόλου για να μεταβείτε στη σελίδα σύνοψης ρόλων.
  3. Στις Δικαιώματα καρτέλα, στο Προσθήκη Δικαιωμάτων μενού, επιλέξτε Επισύναψη πολιτικών.
  4. Επιλέξτε τις διαχειριζόμενες πολιτικές AmazonSageMakerFullAccess και AwsGlueSessionUserRestrictedServiceRole
  5. Επιλέξτε Επισύναψη πολιτικών.
    Η σελίδα σύνοψης εμφανίζει τις πρόσφατα προστεθείσες διαχειριζόμενες πολιτικές σας. Τώρα προσθέτετε μια προσαρμοσμένη πολιτική και την επισυνάπτετε στον εκτελεστικό σας ρόλο.
  6. Στις Προσθήκη Δικαιωμάτων μενού, επιλέξτε Δημιουργία ενσωματωμένης πολιτικής.
  7. Στις JSON καρτέλα, εισαγάγετε την ακόλουθη πολιτική:
    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Sid": "VisualEditor0",
                "Effect": "Allow",
                "Action": [
                    "iam:GetRole",
                    "iam:PassRole",
                    "sts:GetCallerIdentity"
                ],
                "Resource": "*"
            }
        ]
    }

  8. Τροποποιήστε τη σχέση εμπιστοσύνης του ρόλου σας:
    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Effect": "Allow",
                "Principal": {
                    "Service": [
                        "glue.amazonaws.com",
                        "sagemaker.amazonaws.com"
                    ]
                },
                "Action": "sts:AssumeRole"
            }
        ]
    }

Εκκινήστε έναν διαδραστικό πυρήνα συνεδρίας AWS Glue

Εάν έχετε ήδη υπάρχοντες χρήστες στον τομέα Studio σας, ίσως χρειαστεί να τους έχετε να κλείσουν και να επανεκκινήσουν τον διακομιστή Jupyter για να λάβετε τις νέες εικόνες πυρήνα σημειωματάριου.

Κατά την επαναφόρτωση, μπορείτε να δημιουργήσετε ένα νέο σημειωματάριο Studio και επιλέξτε τον πυρήνα που προτιμάτε. Το ενσωματωμένο SparkAnalytics 1.0 Η εικόνα θα πρέπει τώρα να είναι διαθέσιμη και μπορείτε να επιλέξετε τον πυρήνα AWS Glue που προτιμάτε (Κόλλα Scala Spark or Κόλλα PySpark).

Διαμορφώστε τη διαδραστική συνεδρία σας

Μπορείτε εύκολα να ρυθμίσετε τις παραμέτρους της διαδραστικής συνεδρίας AWS Glue με μαγικά κελιά φορητού υπολογιστή πριν από την προετοιμασία. Τα Magic είναι μικρές εντολές με πρόθεμα % στην αρχή των κελιών Jupyter που παρέχουν συντομεύσεις για τον έλεγχο του περιβάλλοντος. Στις διαδραστικές συνεδρίες AWS Glue, τα μαγικά χρησιμοποιούνται για όλες τις ανάγκες διαμόρφωσης, όπως:

  • %περιοχή – Η περιοχή AWS στην οποία θα αρχικοποιηθεί μια συνεδρία. Η προεπιλογή είναι η περιοχή Studio.
  • %iam_role – Ο ρόλος IAM ARN με τον οποίο θα εκτελέσετε τη συνεδρία σας. Η προεπιλογή είναι ο ρόλος εκτέλεσης του SageMaker του χρήστη.
  • %worker_type - Η Τύπος εργάτη κόλλας AWS. Η προεπιλογή είναι τυπική.
  • %number_of_workers – Ο αριθμός των εργαζομένων που κατανέμονται όταν τρέχει μια θέση εργασίας. Η προεπιλογή είναι πέντε.
  • %idle_timeout – Ο αριθμός των λεπτών αδράνειας μετά τα οποία θα λήξει η περίοδος λειτουργίας. Η προεπιλογή είναι 2,880 λεπτά.
  • %additional_python_modules – Μια λίστα διαχωρισμένων με κόμματα πρόσθετων λειτουργικών μονάδων Python που θα συμπεριλάβετε στο σύμπλεγμα σας. Αυτό μπορεί να είναι από PyPi ή Απλή υπηρεσία αποθήκευσης Amazon (Amazon S3).
  • %%Διαμορφώστε – Ένα λεξικό με μορφή JSON που αποτελείται από Παράμετροι διαμόρφωσης ειδικά για την κόλλα AWS για μια συνεδρία.

Για μια ολοκληρωμένη λίστα μαγικών παραμέτρων με δυνατότητα διαμόρφωσης για αυτόν τον πυρήνα, χρησιμοποιήστε το %help μαγεία μέσα στο σημειωματάριό σας.

Η διαδραστική συνεδρία AWS Glue δεν θα ξεκινήσει μέχρι να εκτελεστεί το πρώτο μη μαγικό κελί.

Προσαρμόστε τη διαδραστική συνεδρία σας και εκτελέστε έναν φόρτο εργασίας προετοιμασίας δεδομένων

Για παράδειγμα, τα ακόλουθα κελιά σημειωματάριου δείχνουν πώς μπορείτε να προσαρμόσετε τη διαδραστική περίοδο λειτουργίας AWS Glue και να εκτελέσετε έναν επεκτάσιμο φόρτο εργασίας προετοιμασίας δεδομένων. Σε αυτό το παράδειγμα, εκτελούμε μια εργασία ETL για τη συγκέντρωση δεδομένων ποιότητας αέρα για μια δεδομένη πόλη, ομαδοποιώντας την ώρα της ημέρας.

Διαμορφώνουμε τη συνεδρία μας για να αποθηκεύουμε τα αρχεία καταγραφής Spark σε έναν κάδο S3 για εντοπισμό σφαλμάτων σε πραγματικό χρόνο, τον οποίο βλέπουμε αργότερα σε αυτήν την ανάρτηση. Να είστε σίγουροι ότι το iam_role που εκτελεί την περίοδο λειτουργίας AWS Glue έχει πρόσβαση εγγραφής στον καθορισμένο κάδο S3.

%help

%session_id_prefix air-analysis-
%glue_version 3.0
%idle_timeout 60
%%configure
{
"--enable-spark-ui": "true",
"--spark-event-logs-path": "s3://<BUCKET>/gis-spark-logs/"
}

Στη συνέχεια, φορτώνουμε το σύνολο δεδομένων μας απευθείας από το Amazon S3. Εναλλακτικά, θα μπορούσατε φορτώστε δεδομένα χρησιμοποιώντας τον Κατάλογο δεδομένων κόλλας AWS.

from pyspark.sql.functions import split, lower, hour
print(spark.version)
day_to_analyze = "2022-01-05"
df = spark.read.json(f"s3://openaq-fetches/realtime-gzipped/{day_to_analyze}/1641409725.ndjson.gz")
df_air = spark.read.schema(df.schema).json(f"s3://openaq-fetches/realtime-gzipped/{day_to_analyze}/*")

Τέλος, γράφουμε το μετασχηματισμένο σύνολο δεδομένων μας σε μια θέση κάδου εξόδου που ορίσαμε:

df_city = df_air.filter(lower((df_air.city)).contains('delhi')).filter(df_air.parameter == "no2").cache()
df_avg = df_city.withColumn("Hour", hour(df_city.date.utc)).groupBy("Hour").avg("value").withColumnRenamed("avg(value)", "no2_avg")
df_avg.sort("Hour").show()

# Examples of reading / writing to other data stores: 
# https://github.com/aws-samples/aws-glue-samples/tree/master/examples/notebooks

df_avg.write.parquet(f"s3://<BUCKET>/{day_to_analyze}.parquet")

Αφού ολοκληρώσετε την εργασία σας, μπορείτε να τερματίσετε αμέσως τη διαδραστική συνεδρία AWS Glue τερματίζοντας απλώς τον πυρήνα του σημειωματάριου Studio ή μπορείτε να χρησιμοποιήσετε το %stop_session μαγεία.

Εντοπισμός σφαλμάτων και διεπαφή χρήστη Spark

Στο προηγούμενο παράδειγμα, καθορίσαμε το ”--enable-spark-ui”: “true” επιχείρημα μαζί με α "--spark-event-logs-path": location. Αυτό διαμορφώνει την περίοδο λειτουργίας AWS Glue ώστε να καταγράφει τα αρχεία καταγραφής περιόδων σύνδεσης, ώστε να μπορούμε να χρησιμοποιήσουμε ένα Spark UI για την παρακολούθηση και τον εντοπισμό σφαλμάτων της εργασίας AWS Glue σε πραγματικό χρόνο.

Για τη διαδικασία εκκίνησης και ανάγνωσης αυτών των αρχείων καταγραφής Spark, ανατρέξτε στο Εκκίνηση του διακομιστή ιστορικού Spark. Στο παρακάτω στιγμιότυπο οθόνης, έχουμε κυκλοφορήσει ένα τοπικό κοντέινερ Docker που έχει άδεια ανάγνωσης του κάδου S3 που περιέχει τα αρχεία καταγραφής μας. Προαιρετικά, μπορείτε να φιλοξενήσετε ένα Amazon Elastic Compute Cloud (Amazon EC2) για να το κάνετε αυτό, όπως περιγράφεται στην προηγούμενη συνδεδεμένη τεκμηρίωση.

Προετοιμάστε δεδομένα σε κλίμακα στο Amazon SageMaker Studio χρησιμοποιώντας διαδραστικές συνεδρίες AWS Glue χωρίς διακομιστή, PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.

Τιμοκατάλογος

Όταν χρησιμοποιείτε διαδραστικές περιόδους σύνδεσης AWS Glue σε φορητούς υπολογιστές Studio, χρεώνεστε ξεχωριστά για τη χρήση πόρων σε φορητούς υπολογιστές AWS Glue και Studio.

Το AWS χρεώνει για διαδραστικές περιόδους σύνδεσης AWS Glue με βάση τη διάρκεια της περιόδου λειτουργίας και τον αριθμό των μονάδων επεξεργασίας δεδομένων (DPU) που χρησιμοποιούνται. Χρεώνεστε με ωριαία χρέωση για τον αριθμό των DPU που χρησιμοποιούνται για την εκτέλεση του φόρτου εργασίας σας, η οποία χρεώνεται σε προσαυξήσεις του 1 δευτερολέπτου. Οι διαδραστικές συνεδρίες AWS Glue εκχωρούν προεπιλογή 5 DPU και απαιτούν τουλάχιστον 2 DPU. Υπάρχει επίσης ελάχιστη διάρκεια χρέωσης 1 λεπτού για κάθε διαδραστική περίοδο σύνδεσης. Για να δείτε τις τιμές και τα παραδείγματα τιμολόγησης AWS Glue ή για να υπολογίσετε το κόστος σας χρησιμοποιώντας τον Υπολογιστή Τιμολόγησης AWS, βλ. Τιμολόγηση κόλλας AWS.

Ο φορητός υπολογιστής Studio σας εκτελείται σε μια παρουσία EC2 και χρεώνεστε για τον τύπο παρουσίας που επιλέγετε, με βάση τη διάρκεια χρήσης. Το Studio σάς εκχωρεί έναν προεπιλεγμένο τύπο παρουσίας EC2 ml-t3-medium όταν επιλέγετε το SparkAnalytics εικόνα και σχετικός πυρήνας. Μπορείτε να αλλάξετε τον τύπο παρουσίας του σημειωματάριου Studio σας για να ταιριάζει με τον φόρτο εργασίας σας. Για πληροφορίες σχετικά με την τιμολόγηση του SageMaker Studio, βλ Τιμολόγηση του Amazon SageMaker.

Συμπέρασμα

Η εγγενής ενσωμάτωση φορητών υπολογιστών Studio με διαδραστικές συνεδρίες AWS Glue διευκολύνει την απρόσκοπτη και επεκτάσιμη προετοιμασία δεδομένων χωρίς διακομιστή για επιστήμονες δεδομένων και μηχανικούς δεδομένων. Σας συνιστούμε να δοκιμάσετε αυτή τη νέα λειτουργικότητα στο Studio!

Βλέπω Προετοιμάστε δεδομένα χρησιμοποιώντας διαδραστικές συνεδρίες κόλλας AWS Για περισσότερες πληροφορίες.


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

Σον ΜόργκανΣον Μόργκαν είναι Senior ML Solutions Architect στην AWS. Έχει εμπειρία στους τομείς των ημιαγωγών και της ακαδημαϊκής έρευνας και χρησιμοποιεί την εμπειρία του για να βοηθήσει τους πελάτες να επιτύχουν τους στόχους τους στο AWS. Στον ελεύθερο χρόνο του, ο Sean είναι ενεργός συνεργάτης/συντηρητής ανοιχτού κώδικα και είναι ο επικεφαλής της ομάδας ειδικού ενδιαφέροντος για το TensorFlow Addons.

Προετοιμάστε δεδομένα σε κλίμακα στο Amazon SageMaker Studio χρησιμοποιώντας διαδραστικές συνεδρίες AWS Glue χωρίς διακομιστή, PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.Σουμέντα Σουάμι είναι κύριος διευθυντής προϊόντων στο Amazon Web Services. Οδηγεί την ομάδα του SageMaker Studio να το ενσωματώσει στο IDE της επιλογής για διαδραστικές ροές εργασίας επιστήμης δεδομένων και μηχανικής δεδομένων. Έχει περάσει τα τελευταία 15 χρόνια δημιουργώντας καταναλωτικά και επιχειρηματικά προϊόντα με εμμονή με τους πελάτες χρησιμοποιώντας τη Μηχανική Μάθηση. Στον ελεύθερο χρόνο του αρέσει να φωτογραφίζει την εκπληκτική γεωλογία της αμερικανικής νοτιοδυτικής.

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

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