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

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

Οι οργανισμοί χρησιμοποιούν υπηρεσίες μηχανικής μάθησης (ML) και AI για να βελτιώσουν την εμπειρία των πελατών, να μειώσουν το λειτουργικό κόστος και να ξεκλειδώσουν νέες δυνατότητες για τη βελτίωση των επιχειρηματικών αποτελεσμάτων. Τα δεδομένα υποστηρίζουν περιπτώσεις χρήσης ML και AI και αποτελούν στρατηγικό πλεονέκτημα για έναν οργανισμό. Καθώς τα δεδομένα αυξάνονται με εκθετικό ρυθμό, οι οργανισμοί προσπαθούν να δημιουργήσουν μια ολοκληρωμένη, οικονομικά αποδοτική και αποδοτική πλατφόρμα δεδομένων προκειμένου να προεπεξεργάζονται δεδομένα, να εκτελούν μηχανική λειτουργιών και να δημιουργούν, να εκπαιδεύουν και να λειτουργούν μοντέλα ML σε κλίμακα. Για να επιτευχθεί αυτό, το AWS προσφέρει μια ενοποιημένη σύγχρονη πλατφόρμα δεδομένων που τροφοδοτείται από Απλή υπηρεσία αποθήκευσης Amazon (Amazon S3) ως η λίμνη δεδομένων με ειδικά κατασκευασμένα εργαλεία και μηχανές επεξεργασίας για την υποστήριξη φόρτου εργασίας ανάλυσης και ML. Για μια ενοποιημένη εμπειρία ML, μπορείτε να χρησιμοποιήσετε Στούντιο Amazon SageMaker, το οποίο προσφέρει εγγενής ενσωμάτωση με διαδραστικές συνεδρίες AWS Glue να εκτελεί μηχανική χαρακτηριστικών σε κλίμακα με προστασία ευαίσθητων δεδομένων. Σε αυτήν την ανάρτηση, δείχνουμε πώς να εφαρμόσετε αυτήν τη λύση.

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

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

Μια άλλη σημαντική απαίτηση για εφαρμογές που βασίζονται σε ML είναι η ασφάλεια των δεδομένων και ο έλεγχος πρόσβασης. Είναι κοινή απαίτηση να υπάρχει αυστηρότερος έλεγχος σχετικά με το ποιος μπορεί να έχει πρόσβαση στα πιο ευαίσθητα δεδομένα ως μέρος της διαδικασίας σχεδιασμού χαρακτηριστικών και κατασκευής μοντέλων ακολουθώντας την αρχή της λιγότερης πρόσβασης προνομίων. Για να το πετύχετε αυτό, μπορείτε να χρησιμοποιήσετε την ενσωμάτωση AWS Glue με Σχηματισμός Λίμνης AWS για αυξημένη διακυβέρνηση και διαχείριση των περιουσιακών στοιχείων της λίμνης δεδομένων. Με το Lake Formation, μπορείτε να διαμορφώσετε λεπτομερείς πολιτικές ελέγχου πρόσβασης δεδομένων και ασφάλειας πάνω από τη λίμνη δεδομένων Amazon S3. Οι πολιτικές ορίζονται σε μια κεντρική τοποθεσία, επιτρέποντας πολλαπλές υπηρεσίες ανάλυσης και ML, όπως το AWS Glue, Αμαζόν Αθηνά, και SageMaker, για αλληλεπίδραση με δεδομένα που είναι αποθηκευμένα στο Amazon S3.

Η κόλλα AWS περιλαμβάνει α ανίχνευση προσωπικών πληροφοριών (PII). μετασχηματισμός που παρέχει τη δυνατότητα εντοπισμού, κάλυψης ή κατάργησης οντοτήτων όπως απαιτείται, για αυξημένη συμμόρφωση και διακυβέρνηση. Με τον μετασχηματισμό PII, μπορείτε να εντοπίσετε δεδομένα PII σε σύνολα δεδομένων και να εφαρμόσετε αυτόματα λεπτομερή έλεγχο πρόσβασης χρησιμοποιώντας το Lake Formation για να περιορίσετε ευαίσθητα δεδομένα για διαφορετικές ομάδες χρηστών.

Περίπτωση χρήσης

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

Ο μηχανικός δεδομένων είναι υπεύθυνος για την κατασκευή του αγωγού επεξεργασίας δεδομένων από άκρο σε άκρο, συμπεριλαμβανομένης της προετοιμασίας δεδομένων, της προεπεξεργασίας και του ελέγχου πρόσβασης. Ο επιστήμονας δεδομένων είναι υπεύθυνος για τη μηχανική χαρακτηριστικών, την εκπαίδευση και την ανάπτυξη του μοντέλου ML. Λάβετε υπόψη ότι ο επιστήμονας δεδομένων δεν επιτρέπεται να έχει πρόσβαση σε ευαίσθητα δεδομένα PII για τη μηχανική των χαρακτηριστικών ή την εκπαίδευση του μοντέλου ML.

Ως μέρος αυτής της περίπτωσης χρήσης, ο μηχανικός δεδομένων δημιουργεί μια διοχέτευση δεδομένων για την προεπεξεργασία του συνόλου δεδομένων, σαρώνει το σύνολο δεδομένων για τυχόν πληροφορίες PII και περιορίζει την πρόσβαση της στήλης PII στον χρήστη του επιστήμονα δεδομένων. Ως αποτέλεσμα, όταν ένας επιστήμονας δεδομένων χρησιμοποιεί το σύνολο δεδομένων για να εκτελέσει μηχανική λειτουργιών και να δημιουργήσει μοντέλα ML, δεν έχει πρόσβαση στην ευαίσθητη στήλη PII (αριθμοί τηλεφώνου, σε αυτήν την περίπτωση). Η διαδικασία σχεδιασμού χαρακτηριστικών περιλαμβάνει τη μετατροπή στηλών συμβολοσειράς τύπου σε μια μορφή που είναι βέλτιστη για μοντέλα ML. Ως περίπτωση προηγμένης χρήσης, μπορείτε να επεκτείνετε αυτό το μοτίβο πρόσβασης για να εφαρμόσετε ασφάλεια σε επίπεδο σειράς και σε επίπεδο κυψέλης χρησιμοποιώντας το Lake Formation.

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

Η λύση περιέχει τα ακόλουθα βήματα υψηλού επιπέδου:

  1. Ρύθμιση πόρων με AWS CloudFormation.
  2. Προεπεξεργαστείτε το σύνολο δεδομένων, συμπεριλαμβανομένης της ανίχνευσης PII και του λεπτομερούς ελέγχου πρόσβασης, σε μια διαδραστική περίοδο λειτουργίας AWS Glue.
  3. Εκτελέστε μηχανική λειτουργιών σε μια διαδραστική συνεδρία AWS Glue.
  4. Εκπαιδεύστε και αναπτύξτε ένα μοντέλο ML χρησιμοποιώντας τον ενσωματωμένο αλγόριθμο XGBoost του SageMaker.
  5. Αξιολογήστε το μοντέλο ML.

Το παρακάτω διάγραμμα απεικονίζει την αρχιτεκτονική λύσεων.

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

Για να ολοκληρώσετε αυτό το σεμινάριο, πρέπει να έχετε τις ακόλουθες προϋποθέσεις:

Ρυθμίστε πόρους με το AWS CloudFormation

Αυτή η ανάρτηση περιλαμβάνει ένα πρότυπο CloudFormation για γρήγορη εγκατάσταση. Μπορείτε να το αναθεωρήσετε και να το προσαρμόσετε ανάλογα με τις ανάγκες σας. Εάν προτιμάτε να ρυθμίσετε πόρους στο Κονσόλα διαχείρισης AWS και το AWS CLI αντί για το AWS CloudFormation, δείτε τις οδηγίες στο παράρτημα στο τέλος αυτής της ανάρτησης.

Το πρότυπο CloudFormation δημιουργεί τους ακόλουθους πόρους:

  • Κάδοι S3 με δείγμα δεδομένων
  • An AWS Lambda λειτουργία για τη φόρτωση του συνόλου δεδομένων
  • Διαχείριση ταυτότητας και πρόσβασης AWS Ομάδα (IAM), χρήστες, ρόλοι και πολιτικές
  • Ρυθμίσεις και άδειες λίμνης δεδομένων σχηματισμού λίμνης
  • Προφίλ χρηστών SageMaker

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

  1. Συνδεθείτε στην κονσόλα.
  2. Επιλέξτε Εκκίνηση στοίβας:
    Κουμπί εκκίνησης
  3. Επιλέξτε Επόμενο.
  4. Για DataEngineerPwd και DataScientistPwd, εισαγάγετε τον δικό σας κωδικό πρόσβασης για τους χρήστες του μηχανικού δεδομένων και του επιστήμονα δεδομένων.
  5. Για GlueDatabaseName, εισαγω demo.
  6. Για GlueTableName, εισαγω web_marketing.
  7. Για S3BucketNameForInput, εισαγω blog-studio-pii-dataset-.
  8. Για S3BucketNameForOutput, εισαγω blog-studio-output-.
  9. Για SageMakerDomainId, εισαγάγετε το αναγνωριστικό τομέα SageMaker που ετοιμάσατε στα προαπαιτούμενα βήματα.
  10. Επιλέξτε Επόμενο.
  11. Στην επόμενη σελίδα, επιλέξτε Επόμενο.
  12. Ελέγξτε τις λεπτομέρειες στην τελική σελίδα και επιλέξτε Αναγνωρίζω ότι το AWS CloudFormation μπορεί να δημιουργήσει πόρους IAM.
  13. Επιλέξτε Δημιουργία.

Η δημιουργία στοίβας μπορεί να διαρκέσει έως και 10 λεπτά. Η στοίβα δημιουργεί ρόλους IAM και προφίλ χρήστη SageMaker για δύο πρόσωπα: μηχανικό δεδομένων και επιστήμονα δεδομένων. Δημιουργεί επίσης μια επίδειξη και πίνακα βάσης δεδομένων web_marketing με ένα δείγμα δεδομένων.

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

Προεπεξεργαστείτε το σύνολο δεδομένων

Ας ξεκινήσουμε την προεπεξεργασία δεδομένων σε μια διαδραστική περίοδο λειτουργίας AWS Glue. Το πρόσωπο του μηχανικού δεδομένων θέλει να επαληθεύσει τα δεδομένα για να δει εάν υπάρχουν ευαίσθητα δεδομένα ή όχι και να εκχωρήσει ελάχιστη άδεια πρόσβασης στο πρόσωπο του επιστήμονα δεδομένων. Μπορείτε να κατεβάσετε το σημειωματάριο από αυτή η θέση.

  1. Συνδεθείτε στην κονσόλα χρησιμοποιώντας τον χρήστη μηχανικού δεδομένων.
  2. Στην κονσόλα SageMaker, επιλέξτε Χρήστες.
  3. Επιλέξτε τον χρήστη μηχανικού δεδομένων και επιλέξτε Άνοιγμα στούντιο.
  4. Δημιουργήστε ένα νέο σημειωματάριο και επιλέξτε SparkAnalytics 1.0 for Εικόνα και Κόλλα PySpark for Πυρήνας.
  5. Ξεκινήστε μια διαδραστική συνεδρία με τα ακόλουθα μαγικά για να εγκαταστήσετε τη νεότερη έκδοση του Boto3 (αυτό απαιτείται για τη χρήση του create_data_cells_filter μέθοδος):
    %additional_python_modules boto3==1.24.82

  6. Ξεκινήστε τη συνεδρία:
    import boto3
    import sys
    from awsglue.transforms import *
    from awsglue.utils import getResolvedOptions
    from pyspark.context import SparkContext
    from awsglue.context import GlueContext
    from awsglue.job import Job
    
    sc = SparkContext.getOrCreate()
    glueContext = GlueContext(sc)
    spark = glueContext.spark_session
    job = Job(glueContext)

  7. Δημιουργήστε ένα AWS Glue DynamicFrame από τον πίνακα που δημιουργήθηκε πρόσφατα και επίλυση τύπων επιλογής με βάση το σχήμα καταλόγου, επειδή θέλουμε να χρησιμοποιήσουμε το σχήμα που ορίζεται στον κατάλογο αντί για το σχήμα που προκύπτει αυτόματα βάσει δεδομένων:
    dyf_marketing = glueContext.create_dynamic_frame.from_catalog(
    database="demo",
    table_name="web_marketing"
    )
    
    dyf_marketing_resolved = dyf_marketing.resolveChoice(
    choice="match_catalog",
    database="demo",
    table_name="web_marketing"
    )
    
    dyf_marketing_resolved.printSchema()

  8. Επικυρώστε στον πίνακα εάν υπάρχουν δεδομένα PII χρησιμοποιώντας την ανίχνευση AWS Glue PII:
    from awsglueml.transforms import EntityDetector
    
    entities_filter = [
    "EMAIL",
    "CREDIT_CARD",
    "IP_ADDRESS",
    "MAC_ADDRESS",
    "PHONE_NUMBER"
    ]
    entity_detector = EntityDetector()
    classified_map = entity_detector.classify_columns(dyf_marketing_resolved, entities_filter, 1.0, 0.1)
    print(classified_map)

  9. Επαληθεύστε εάν οι στήλες που ταξινομούνται ως PII περιέχουν ευαίσθητα δεδομένα ή όχι (εάν όχι, ενημερώστε το classified_map για να απορρίψετε τις μη ευαίσθητες στήλες):
    from pyspark.sql.functions import col
    dyf_marketing_resolved.toDF().select(*[col(c) for c in classified_map.keys()]).show()

  10. Ρυθμίστε τις άδειες Lake Formation χρησιμοποιώντας ένα φίλτρο κελιών δεδομένων για στήλες που ανιχνεύονται αυτόματα και περιορίστε τις στήλες στην προσωπικότητα του επιστήμονα δεδομένων:
    lakeformation = boto3.client('lakeformation')
    sts = boto3.client('sts')
    
    account_id = sts.get_caller_identity().get('Account')
    
    # Create a data cell filter for excluding phone_number column
    lakeformation.create_data_cells_filter(
    TableData={
    'TableCatalogId': account_id,
    'DatabaseName': 'demo',
    'TableName': 'web_marketing',
    'Name': 'pii',
    'RowFilter': {
    'AllRowsWildcard': {}
    
    },
    'ColumnWildcard': {
    'ExcludedColumnNames': list(classified_map.keys())
    }
    }
    )
    
    # Grant permission on the data cell filter
    lakeformation.grant_permissions(
    Principal={
    'DataLakePrincipalIdentifier': f'arn:aws:iam::{account_id}:role/SageMakerStudioExecutionRole_data-scientist'
    },
    Resource={
    'DataCellsFilter': {
    'TableCatalogId': account_id,
    'DatabaseName': 'demo',
    'TableName': 'web_marketing',
    'Name': 'pii'
    }
    },
    Permissions=[
    'SELECT'
    ]
    )

  11. Συνδεθείτε στο Studio ως επιστήμονας δεδομένων για να δείτε ότι οι στήλες PII δεν είναι ορατές. Μπορείτε να κατεβάσετε το σημειωματάριο από αυτή η θέση.
  12. Δημιουργήστε ένα νέο σημειωματάριο και επιλέξτε SparkAnalytics 1.0 for Εικόνα και Κόλλα PySpark for Πυρήνας:
    import boto3
    import sys
    from awsglue.transforms import *
    from awsglue.utils import getResolvedOptions
    from pyspark.context import SparkContext
    from awsglue.context import GlueContext
    from awsglue.job import Job
    
    sc = SparkContext.getOrCreate()
    glueContext = GlueContext(sc)
    spark = glueContext.spark_session
    job = Job(glueContext)
    
    dyf_marketing = glueContext.create_dynamic_frame.from_catalog(
    database="demo",
    table_name="web_marketing"
    )
    
    dyf_marketing.printSchema()

Εκτελέστε μηχανική χαρακτηριστικών

Χρησιμοποιούμε τη βιβλιοθήκη Apache Spark ML για να εκτελέσουμε τη μηχανική χαρακτηριστικών ως χρήστης επιστήμονας δεδομένων και, στη συνέχεια, να γράψουμε πίσω την έξοδο στο Amazon S3.

  1. Στο παρακάτω κελί, εφαρμόζουμε χαρακτηριστικά από το Βιβλιοθήκη Apache Spark ML:
    • StringIndexer αντιστοιχίζει μια στήλη συμβολοσειράς ετικετών σε μια στήλη ευρετηρίων ετικετών.
    • OneHotEncoder αντιστοιχίζει ένα κατηγορικό χαρακτηριστικό, που αναπαρίσταται ως ευρετήριο ετικέτας, σε ένα δυαδικό διάνυσμα με το πολύ μία μόνο τιμή που υποδεικνύει την παρουσία ενός συγκεκριμένου κατηγορικού χαρακτηριστικού. Αυτός ο μετασχηματισμός χρησιμοποιείται για αλγόριθμους ML που αναμένουν συνεχή χαρακτηριστικά.
    • VectorAssembler είναι ένας μετασχηματιστής που συνδυάζει μια δεδομένη λίστα στηλών σε μια ενιαία διανυσματική στήλη, η οποία στη συνέχεια χρησιμοποιείται στην εκπαίδευση μοντέλων ML για αλγόριθμους όπως η λογιστική παλινδρόμηση και τα δέντρα αποφάσεων.
    #feature engineering by using string indexer and one hot encoding from spark ML library
    from pyspark.ml.feature import StringIndexer, VectorIndexer, OneHotEncoder, VectorAssembler
    from pyspark.ml import Pipeline
    
    cols = ['lastcampaignactivity','region','viewedadvertisement','usedpromo','jobrole']
    
    int_cols = ['pageviewspervisit','totaltimeonwebsite','totalwebvisits',]
    
    indexers = [
    StringIndexer(inputCol=c, outputCol="{0}_indexed".format(c))
    for c in cols
    ]
    
    encoders = [
    OneHotEncoder(
    inputCol=indexer.getOutputCol(),
    outputCol="{0}_encoded".format(indexer.getOutputCol()))
    for indexer in indexers
    ]
    
    assembler = VectorAssembler(
    inputCols=[encoder.getOutputCol() for encoder in encoders]+int_cols,
    outputCol="features"
    )

  2. Το τελικό μετασχηματισμένο DataFrame μπορεί να δημιουργηθεί χρησιμοποιώντας τη βιβλιοθήκη Pipeline. Ένας αγωγός καθορίζεται ως μια ακολουθία σταδίων. Αυτά τα στάδια εκτελούνται με τη σειρά και το DataFrame εισόδου μετασχηματίζεται καθώς διέρχεται από κάθε στάδιο.
    df_marketing = dyf_marketing.toDF()
    pipeline = Pipeline(stages=indexers + encoders + [assembler])
    df_tfm=pipeline.fit(df_marketing).transform(df_marketing)
    

  3. Στη συνέχεια, χωρίζουμε το σύνολο δεδομένων σε εκπαίδευση, επικυρώνουμε και δοκιμάζουμε το DataFrame και το αποθηκεύουμε στον κάδο S3 για να εκπαιδεύσουμε το μοντέλο ML (δώστε το αναγνωριστικό του λογαριασμού σας AWS στον ακόλουθο κώδικα):
    from pyspark.ml.functions import vector_to_array
    
    #set s3 output location for feature engineering output
    bucket='blog-studio-output-'
    
    #convert sparse to dense vector
    df_tfm=df_tfm.select('converted',vector_to_array("features").alias("features_array"))
    
    #split features array into individual columns
    df_tfm=df_tfm.select([df_tfm.converted] + [df_tfm.features_array[i] for i in range(17)])
    
    #split the overall dataset into 70-20-10 training , validation and test
    (train_df, validation_df, test_df) = df_tfm.randomSplit([0.7,0.2,0.1])
    
    #write back train, validation and test datasets to S3
    train_df.write
    .option("header","false")
    .csv('s3://{}/web-marketing/processed/training/'.format(bucket))
    
    validation_df.write
    .option("header","false")
    .csv('s3://{}/web-marketing/processed/validation/'.format(bucket))
    
    test_df.write
    .option("header","false")
    .csv('s3://{}/web-marketing/processed/test/'.format(bucket))

Εκπαιδεύστε και αναπτύξτε ένα μοντέλο ML

Στην προηγούμενη ενότητα, ολοκληρώσαμε τη μηχανική χαρακτηριστικών, η οποία περιελάμβανε τη μετατροπή στηλών συμβολοσειρών όπως π.χ region, jobrole, να usedpromo σε μια μορφή που είναι βέλτιστη για μοντέλα ML. Συμπεριλάβαμε επίσης στήλες όπως π.χ pageviewspervisit και totalwebvisits, που θα μας βοηθήσει να προβλέψουμε την τάση ενός πελάτη να αγοράσει ένα προϊόν.

Τώρα εκπαιδεύουμε ένα μοντέλο ML διαβάζοντας το σύνολο δεδομένων αμαξοστοιχίας και επικύρωσης χρησιμοποιώντας τον ενσωματωμένο αλγόριθμο XGBoost του SageMaker. Στη συνέχεια, αναπτύσσουμε το μοντέλο και εκτελούμε έναν έλεγχο ακρίβειας. Μπορείτε να κατεβάσετε το σημειωματάριο από αυτή η θέση.

Στο επόμενο κελί, διαβάζουμε δεδομένα από τον δεύτερο κάδο S3, ο οποίος περιλαμβάνει την έξοδο από τις λειτουργίες μηχανικής των χαρακτηριστικών μας. Στη συνέχεια χρησιμοποιούμε τον ενσωματωμένο αλγόριθμο XGBoost για να εκπαιδεύσουμε το μοντέλο.

  1. Ανοίξτε ένα νέο σημειωματάριο. Επιλέγω Επιστήμη δεδομένων for Εικόνα και Python 3 for Πυρήνας (δώστε το αναγνωριστικό του λογαριασμού σας AWS στον ακόλουθο κωδικό):
    #set s3 bucket location for training data
    import sagemaker
    import boto3
    from sagemaker import get_execution_role
    
    container = sagemaker.image_uris.retrieve(region=boto3.Session().region_name,
    framework='xgboost', version='latest')
    bucket='blog-studio-output-'
    prefix='web-marketing/processed'
    
    #read train and validation input datasets
    s3_input_train = sagemaker.inputs.TrainingInput(s3_data='s3://{}/{}/training/'
    .format(bucket, prefix), content_type='csv')
    s3_input_validation = sagemaker.inputs.TrainingInput(s3_data='s3://{}/{}/validation/'
    .format(bucket, prefix), content_type='csv')
    
    #train xgb model
    sess = sagemaker.Session()
    from sagemaker import get_execution_role
    
    xgb = sagemaker.estimator.Estimator(
    container,
    role=get_execution_role(),
    instance_count=1,
    instance_type='ml.m4.xlarge',
    output_path='s3://{}/{}/output'
    .format(bucket, prefix),
    sagemaker_session=sess
    )
    
    xgb.set_hyperparameters(
    max_depth=5,
    eta=0.2,
    gamma=4,
    min_child_weight=6,
    subsample=0.8,
    silent=0,
    objective='binary:logistic',
    num_round=100
    )
    
    xgb.fit({'train': s3_input_train, 'validation': s3_input_validation})

  2. Όταν ολοκληρωθεί η εκπαίδευση, μπορούμε να αναπτύξουμε το μοντέλο χρησιμοποιώντας υπηρεσίες φιλοξενίας SageMaker:
    #deploy ml model
    xgb_predictor = xgb.deploy(initial_instance_count=1,
    instance_type='ml.m4.xlarge')

Αξιολογήστε το μοντέλο ML

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

  1. Αξιολογήστε το μοντέλο με τον ακόλουθο κώδικα:
    #create csv serialiser to run accuracy on test dataset
    xgb_predictor.serializer = sagemaker.serializers.CSVSerializer()
    
    #read test dataset
    import io
    import pandas as pd
    
    s3 = boto3.resource('s3')
    bucket_obj = s3.Bucket(bucket)
    
    test_line = []
    test_objs = bucket_obj.objects.filter(Prefix="web-marketing/processed/test")
    for obj in test_objs:
    try:
    key = obj.key
    body = obj.get()['Body'].read()
    temp = pd.read_csv(io.BytesIO(body),header=None, encoding='utf8',sep=',')
    test_line.append(temp)
    except:
    continue
    
    test_df = pd.concat(test_line)
    
    #predict results using deployed model
    import numpy as np
    def predict(data, predictor, rows=500 ):
    split_array = np.array_split(data, int(data.shape[0] / float(rows) + 1))
    predictions = ''
    for array in split_array:
    predictions = ','.join([predictions, predictor.predict(array).decode('utf-8')])
    return np.fromstring(predictions[1:], sep=',')
    
    #drop the target variable in test_df and make prediction
    predictions = predict(test_df.drop(test_df.columns[0], axis=1).to_numpy(), xgb_predictor)
    
    #calculate accuracy using sklearn library
    from sklearn.metrics import accuracy_score, confusion_matrix
    y_pred=np.round(predictions)
    y_true=test_df.iloc[:,0].values.tolist()
    print('Accuracy score: ',accuracy_score(y_true, y_pred))
    print('Confusion matrix: n',confusion_matrix(y_true, y_pred))

    Το αποτέλεσμα ακρίβειας για τη δοκιμή δείγματος ήταν 84.6 %. Αυτό θα μπορούσε να είναι ελαφρώς διαφορετικό για την εκτέλεση σας λόγω του τυχαίου διαχωρισμού του συνόλου δεδομένων.

  2. Μπορούμε να διαγράψουμε το τελικό σημείο συμπερασμάτων με τον ακόλουθο κώδικα:
    xgb_predictor.delete_endpoint(delete_endpoint_config=True)

εκκαθάριση

Τώρα στο τελευταίο βήμα, τον καθαρισμό των πόρων.

  1. Αδειάστε τους δύο κάδους που δημιουργήθηκαν μέσω της στοίβας CloudFormation.
  2. Διαγράψτε τις εφαρμογές που σχετίζονται με τον χρήστη profiles data-scientist και data-engineer μέσα στο Studio.
  3. Διαγράψτε τη στοίβα CloudFormation.

Συμπέρασμα

Σε αυτήν την ανάρτηση, παρουσιάσαμε μια λύση που επιτρέπει σε πρόσωπα, όπως μηχανικούς δεδομένων και επιστήμονες δεδομένων, να εκτελούν μηχανική χαρακτηριστικών σε κλίμακα. Με τις διαδραστικές συνεδρίες AWS Glue, μπορείτε εύκολα να επιτύχετε μηχανική χαρακτηριστικών σε κλίμακα με αυτόματη ανίχνευση PII και λεπτομερή έλεγχο πρόσβασης χωρίς να χρειάζεται να διαχειριστείτε καμία υποκείμενη υποδομή. Χρησιμοποιώντας το Studio ως το μοναδικό σημείο εισόδου, μπορείτε να αποκτήσετε μια απλοποιημένη και ολοκληρωμένη εμπειρία για τη δημιουργία μιας ροής εργασίας ML από άκρο σε άκρο: από την προετοιμασία και την ασφάλεια δεδομένων έως τη δημιουργία, την εκπαίδευση, τον συντονισμό και την ανάπτυξη μοντέλων ML. Για να μάθετε περισσότερα, επισκεφθείτε Ξεκινώντας με τις διαδραστικές συνεδρίες AWS Glue και Στούντιο Amazon SageMaker.

Είμαστε πολύ ενθουσιασμένοι με αυτή τη νέα ικανότητα και επιθυμούμε να δούμε τι πρόκειται να δημιουργήσετε με αυτήν!


Παράρτημα: Ρύθμιση πόρων μέσω της κονσόλας και του AWS CLI

Συμπληρώστε τις οδηγίες σε αυτήν την ενότητα για να ρυθμίσετε πόρους χρησιμοποιώντας την κονσόλα και το AWS CLI αντί για το πρότυπο CloudFormation.

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

Για να ολοκληρώσετε αυτό το σεμινάριο, πρέπει να έχετε πρόσβαση στο AWS CLI (βλ Ξεκινώντας με το AWS CLI) ή χρησιμοποιήστε την πρόσβαση στη γραμμή εντολών από AWS CloudShell.

Διαμορφώστε την ομάδα IAM, τους χρήστες, τους ρόλους και τις πολιτικές

Σε αυτήν την ενότητα, δημιουργούμε δύο χρήστες IAM: data-engineer και data-scientist, που ανήκουν στην ομάδα δεδομένων-πλατφόρμα-ομάδα IAM. Στη συνέχεια, προσθέτουμε μια ενιαία πολιτική IAM στην ομάδα IAM.

  1. Στην κονσόλα IAM, δημιουργήστε μια πολιτική στην καρτέλα JSON για να δημιουργήσετε μια νέα πολιτική διαχειριζόμενης IAM με το όνομα DataPlatformGroupPolicy. Η πολιτική επιτρέπει στους χρήστες της ομάδας να έχουν πρόσβαση στο Studio, αλλά μόνο χρησιμοποιώντας ένα προφίλ χρήστη SageMaker με ετικέτα που ταιριάζει με το όνομα χρήστη IAM τους. Χρησιμοποιήστε το ακόλουθο έγγραφο πολιτικής JSON για να παρέχετε δικαιώματα:
    {
       "Version":"2012-10-17",
       "Statement":[
          {
             "Action":[
                "sagemaker:DescribeDomain",
                "sagemaker:ListDomains",
                "sagemaker:ListUserProfiles",
                "sagemaker:ListApps"
             ],
             "Resource":"*",
             "Effect":"Allow",
             "Sid":"AmazonSageMakerStudioReadOnly"
          },
          {
             "Action":"sagemaker:AddTags",
             "Resource":"*",
             "Effect":"Allow",
             "Sid":"AmazonSageMakerAddTags"
          },
          {
             "Condition":{
                "StringEquals":{
                   "sagemaker:ResourceTag/studiouserid":"${aws:username}"
                }
             },
             "Action":[
                "sagemaker:CreatePresignedDomainUrl",
                "sagemaker:DescribeUserProfile"
             ],
             "Resource":"*",
             "Effect":"Allow",
             "Sid":"AmazonSageMakerAllowedUserProfile"
          },
          {
             "Condition":{
                "StringNotEquals":{
                   "sagemaker:ResourceTag/studiouserid":"${aws:username}"
                }
             },
             "Action":[
                "sagemaker:CreatePresignedDomainUrl",
                "sagemaker:DescribeUserProfile"
             ],
             "Resource":"*",
             "Effect":"Deny",
             "Sid":"AmazonSageMakerDeniedUserProfiles"
          }
       ]
    }

  2. Δημιουργήστε μια ομάδα IAM που ονομάζεται data-platform-group.
  3. Αναζητήστε και επισυνάψτε την πολιτική διαχείρισης AWS με το όνομα DataPlatformGroupPolicy στην ομάδα.
  4. Δημιουργήστε χρήστες IAM ονομάζεται μηχανικός δεδομένων και επιστήμονας δεδομένων κάτω από την ομάδα δεδομένων-πλατφόρμα-ομάδα IAM.
  5. Δημιουργήστε μια νέα διαχειριζόμενη πολιτική με το όνομα SageMakerExecutionPolicy (δώστε την περιοχή και το αναγνωριστικό του λογαριασμού σας στον ακόλουθο κωδικό):
    {
       "Version":"2012-10-17",
       "Statement":[
          {
             "Action":[
                "sagemaker:DescribeDomain",
                "sagemaker:ListDomains",
                "sagemaker:ListUserProfiles",
                "sagemaker:ListApps"
             ],
             "Resource":"*",
             "Effect":"Allow",
             "Sid":"AmazonSageMakerStudioReadOnly"
          },
          {
             "Action":"sagemaker:AddTags",
             "Resource":"*",
             "Effect":"Allow",
             "Sid":"AmazonSageMakerAddTags"
          },
          {
             "Action":[
                "sagemaker:CreateTrainingJob",
                "sagemaker:DescribeTrainingJob",
                "logs:DescribeLogStreams",
                "sagemaker:CreateModel",
                "sagemaker:CreateEndpointConfig",
                "sagemaker:CreateEndpoint",
                "sagemaker:DescribeEndpoint",
                "sagemaker:InvokeEndpoint",
                "sagemaker:DeleteEndpointConfig",
                "sagemaker:DeleteEndpoint"
             ],
             "Resource":"*",
             "Effect":"Allow",
             "Sid":"AmazonSageMakerTrainingAndDeploy"
          },
          {
             "Action":"sagemaker:*App",
             "Resource":"arn:aws:sagemaker:::app/*/${aws:PrincipalTag/userprofilename}/*",
             "Effect":"Allow",
             "Sid":"AmazonSageMakerAllowedApp"
          },
          {
             "Action":"sagemaker:*App",
             "Effect":"Deny",
             "NotResource":"arn:aws:sagemaker:::app/*/${aws:PrincipalTag/userprofilename}/*",
             "Sid":"AmazonSageMakerDeniedApps"
          },
          {
             "Action":[
                "glue:GetTable",
                "glue:GetTables",
                "glue:SearchTables",
                "glue:GetDatabase",
                "glue:GetDatabases",
                "glue:GetPartition",
                "glue:GetPartitions"
             ],
             "Resource":[
                "arn:aws:glue:::table/demo/*",
                "arn:aws:glue:::database/demo",
                "arn:aws:glue:::catalog"
             ],
             "Effect":"Allow",
             "Sid":"GlueCatalogPermissions"
          },
          {
             "Action":[
                "lakeformation:GetDataAccess",
                "lakeformation:StartQueryPlanning",
                "lakeformation:GetQueryState",
                "lakeformation:GetWorkUnits",
                "lakeformation:GetWorkUnitResults"
             ],
             "Resource":"*",
             "Effect":"Allow",
             "Sid":"LakeFormationPermissions"
          },
          {
             "Effect":"Allow",
             "Action":[
                "s3:CreateBucket",
                "s3:GetObject",
                "s3:PutObject",
                "s3:ListBucket",
                "s3:DeleteObject"
             ],
             "Resource":[
                "arn:aws:s3:::blog-studio-output-",
                "arn:aws:s3:::blog-studio-output-/*"
             ]
          },
          {
             "Action":[
                "iam:PassRole",
                "iam:GetRole",
                "sts:GetCallerIdentity"
             ],
             "Resource":"*",
             "Effect":"Allow",
             "Sid":"AmazonSageMakerStudioIAMPassRole"
          },
          {
             "Action":"sts:AssumeRole",
             "Resource":"*",
             "Effect":"Deny",
             "Sid":"DenyAssummingOtherIAMRoles"
          }
       ]
    }

  6. Δημιουργήστε μια νέα διαχειριζόμενη πολιτική το όνομά του SageMakerAdminPolicy:
    {
       "Version":"2012-10-17",
       "Statement":[
          {
             "Action":[
                "lakeformation:GrantPermissions",
                "lakeformation:RevokePermissions",
                "lakeformation:ListPermissions",
                "lakeformation:BatchGrantPermissions",
                "lakeformation:BatchRevokePermissions",
                "lakeformation:CreateDataCellsFilter",
                "lakeformation:DeleteDataCellsFilter",
                "lakeformation:ListDataCellsFilter",
                "glue:GetUserDefinedFunctions",
                "glue:BatchGetCustomEntityTypes"
             ],
             "Resource":"*",
             "Effect":"Allow",
             "Sid":"GlueLakeFormationPermissions"
          }
       ]
    }

  7. Δημιουργήστε ένα ρόλο IAM για το SageMaker για τον μηχανικό δεδομένων (data-engineer), ο οποίος χρησιμοποιείται ως ο ρόλος εκτέλεσης του αντίστοιχου προφίλ χρήστη. Στο Επισύναψη πολιτικής δικαιωμάτων σελίδα, το AmazonSageMakerFullAccess (διαχειριζόμενη πολιτική AWS) επισυνάπτεται από προεπιλογή. Καταργείτε αυτήν την πολιτική αργότερα για να διατηρήσετε το ελάχιστο προνόμιο.
    1. Για Όνομα ρόλου, χρησιμοποιήστε τη σύμβαση ονομασίας που παρουσιάστηκε στην αρχή αυτής της ενότητας για να ονομάσετε τον ρόλο SageMakerStudioExecutionRole_data-engineer.
    2. Για Ετικέτες, προσθέστε το όνομα προφίλ χρήστη κλειδιού και τον μηχανικό δεδομένων αξίας.
    3. Επιλέξτε Δημιουργήστε ρόλο.
    4. Για να προσθέσετε τις υπόλοιπες πολιτικές, στο ρόλους σελίδα, επιλέξτε το όνομα ρόλου που μόλις δημιουργήσατε.
    5. Κάτω από Δικαιώματα, καταργήστε την πολιτική AmazonSageMakerFullAccess.
    6. Στις Επισύναψη πολιτικής δικαιωμάτων σελίδα, επιλέξτε την πολιτική διαχείρισης AWS AwsGlueSessionUserRestrictedServiceRole και τις πολιτικές διαχείρισης πελατών SageMakerExecutionPolicy και SageMakerAdminPolicy που δημιουργήσατε.
    7. Επιλέξτε Επισύναψη πολιτικών.
    8. Τροποποίηση σχέση εμπιστοσύνης του ρόλου σας:
    {
       "Version":"2012-10-17",
       "Statement":[
          {
             "Effect":"Allow",
             "Principal":{
                "Service":[
                   "glue.amazonaws.com",
                   "sagemaker.amazonaws.com"
                ]
             },
             "Action":"sts:AssumeRole"
          }
       ]
    }

  8. Δημιουργήστε ένα ρόλο IAM για το SageMaker για τον επιστήμονα δεδομένων (data-scientist), το οποίο χρησιμοποιείται ως ο ρόλος εκτέλεσης του αντίστοιχου προφίλ χρήστη.
    1. Για Όνομα ρόλου, ονομάστε το ρόλο SageMakerStudioExecutionRole_data-scientist.
    2. Για Ετικέτες, προσθέστε το βασικό όνομα προφίλ χρήστη και το value data-scientist.
    3. Επιλέξτε Δημιουργήστε ρόλο.
    4. Για να προσθέσετε τις υπόλοιπες πολιτικές, στο ρόλους σελίδα, επιλέξτε το όνομα ρόλου που μόλις δημιουργήσατε.
    5. Κάτω από Δικαιώματα, καταργήστε την πολιτική AmazonSageMakerFullAccess.
    6. Στις Επισύναψη πολιτικής δικαιωμάτων σελίδα, επιλέξτε την πολιτική διαχείρισης AWS AwsGlueSessionUserRestrictedServiceRole και την πολιτική διαχείρισης πελατών SageMakerExecutionPolicy που δημιουργήσατε.
    7. Επιλέξτε Επισύναψη πολιτικών.
    8. Τροποποίηση σχέση εμπιστοσύνης του ρόλου σας:
    {
       "Version":"2012-10-17",
       "Statement":[
          {
             "Effect":"Allow",
             "Principal":{
                "Service":[
                   "glue.amazonaws.com",
                   "sagemaker.amazonaws.com"
                ]
             },
             "Action":"sts:AssumeRole"
          }
       ]
    }

Διαμόρφωση προφίλ χρήστη SageMaker

Για να δημιουργήσετε τα προφίλ χρήστη SageMaker με το studiouserid ετικέτα, ολοκληρώστε τα παρακάτω βήματα:

  1. Χρησιμοποιήστε το AWS CLI ή το CloudShell για να δημιουργήσετε το προφίλ χρήστη Studio για τον μηχανικό δεδομένων (δώστε το αναγνωριστικό λογαριασμού και το αναγνωριστικό τομέα Studio Studio στον ακόλουθο κώδικα):
    aws sagemaker create-user-profile --domain-id  --user-profile-name data-engineer --tags Key=studiouserid,Value=data-engineer --user-settings ExecutionRole=arn:aws:iam:::role/SageMakerStudioExecutionRole_data-engineer

  2. Επαναλάβετε το βήμα για να δημιουργήσετε ένα προφίλ χρήστη για τον επιστήμονα δεδομένων, αντικαθιστώντας το αναγνωριστικό λογαριασμού και το αναγνωριστικό τομέα Studio:
    aws sagemaker create-user-profile --domain-id  --user-profile-name data-scientist --tags Key=studiouserid,Value=data-scientist --user-settings ExecutionRole=arn:aws:iam:::role/SageMakerStudioExecutionRole_data-scientist

Δημιουργήστε κάδους S3 και ανεβάστε το δείγμα δεδομένων

Σε αυτήν την ενότητα, δημιουργείτε δύο κουβάδες S3. Ο πρώτος κάδος έχει ένα δείγμα δεδομένων που σχετίζεται με το διαδικτυακό μάρκετινγκ. Ο δεύτερος κάδος χρησιμοποιείται από τον επιστήμονα δεδομένων για την αποθήκευση εξόδου από εργασίες μηχανικής χαρακτηριστικών και αυτό το σύνολο δεδομένων εξόδου χρησιμοποιείται για την εκπαίδευση του μοντέλου ML.

Αρχικά, δημιουργήστε τον κάδο S3 για τα δεδομένα εισόδου:

  1. Λήψη το σύνολο δεδομένων.
  2. Στην κονσόλα Amazon S3, επιλέξτε Κουβάδες στο παράθυρο πλοήγησης.
  3. Επιλέξτε Δημιουργία κάδου.
  4. Για Περιοχή, επιλέξτε την Περιοχή με τον τομέα SageMaker που περιλαμβάνει τα προφίλ χρηστών που δημιουργήσατε.
  5. Για Όνομα κάδου, εισαγω blog-studio-pii-dataset-.
  6. Επιλέξτε Δημιουργία κάδου.
  7. Επιλέξτε τον κάδο που δημιουργήσατε και επιλέξτε Μεταφόρτωση.
  8. Στο Επιλέξτε τα αρχεία τμήμα, επιλέξτε Προσθήκη αρχείων και ανεβάστε το σύνολο δεδομένων που κατεβάσατε.
    Τώρα δημιουργείτε τον κάδο για τα δεδομένα εξόδου:
  9. Στις Κουβάδες σελίδα, επιλέξτε Δημιουργία κάδου.
  10. Για Περιοχή, επιλέξτε την Περιοχή με τον τομέα SageMaker που περιλαμβάνει τα προφίλ χρηστών που δημιουργήσατε.
  11. Για Όνομα κάδου, εισαγω blog-studio-output-.
  12. Επιλέξτε Δημιουργία κάδου.

Δημιουργήστε μια βάση δεδομένων και πίνακα AWS Glue

Σε αυτήν την ενότητα, δημιουργείτε μια βάση δεδομένων και πίνακα AWS Glue για το σύνολο δεδομένων.

  1. Στην κονσόλα Lake Formation, κάτω Κατάλογος δεδομένων στο παράθυρο πλοήγησης, επιλέξτε Βάσεις Δεδομένων.
  2. Επιλέξτε Προσθήκη βάσης δεδομένων.
  3. Για Όνομα, εισάγετε επίδειξη.
  4. Επιλέξτε Δημιουργία βάσης δεδομένων.
  5. Κάτω από Κατάλογος δεδομένων, επιλέξτε πίνακες.
  6. Για Όνομα, εισαγω web_marketing.
  7. Για βάση δεδομένων, Επιλέξτε demo.
  8. Για Συμπερίληψη διαδρομής, εισαγάγετε τη διαδρομή του κάδου S3 για δεδομένα εισόδου.
  9. Για Ταξινόμηση, επιλέξτε CSV.
  10. Κάτω από Schema, επιλέξτε Μεταφόρτωση Σχήματος.
  11. Εισαγάγετε τον ακόλουθο πίνακα JSON στο πλαίσιο κειμένου:
    [
       {
          "Name":"lastcampaignactivity",
          "Type":"string"
       },
       {
          "Name":"pageviewspervisit",
          "Type":"double"
       },
       {
          "Name":"totaltimeonwebsite",
          "Type":"bigint"
       },
       {
          "Name":"totalwebvisits",
          "Type":"bigint"
       },
       {
          "Name":"attendedmarketingevent",
          "Type":"string"
       },
       {
          "Name":"organicsearch",
          "Type":"string"
       },
       {
          "Name":"viewedadvertisement",
          "Type":"string"
       },
       {
          "Name":"leadsource",
          "Type":"string"
       },
       {
          "Name":"jobrole",
          "Type":"string"
       },
       {
          "Name":"contactnotes",
          "Type":"string"
       },
       {
          "Name":"leadprofile",
          "Type":"string"
       },
       {
          "Name":"usedpromo",
          "Type":"string"
       },
       {
          "Name":"donotreachout",
          "Type":"boolean"
       },
       {
          "Name":"city",
          "Type":"string"
       },
       {
          "Name":"converted",
          "Type":"bigint"
       },
       {
          "Name":"region",
          "Type":"string"
       },
       {
          "Name":"phone_number",
          "Type":"string"
       }
    ]

  12. Επιλέξτε Μεταφόρτωση.
  13. Επιλέξτε Υποβολη.
  14. Κάτω από Λεπτομέρειες πίνακα, επιλέξτε Επεξεργασία πίνακα.
  15. Κάτω από Ιδιότητες πίνακα, επιλέξτε Πρόσθεση.
  16. Για Κλειδί, εισαγω skip.header.line.count, Και για αξία, εισαγάγετε 1.
  17. Επιλέξτε Αποθήκευση.

Διαμόρφωση αδειών σχηματισμού λίμνης

Σε αυτήν την ενότητα, ρυθμίζετε τις άδειες Lake Formation για να επιτρέψετε τον ρόλο IAM SageMakerStudioExecutionRole_data-engineer για να δημιουργήσετε μια βάση δεδομένων και να καταχωρίσετε τη θέση S3 εντός του Lake Formation.

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

  1. Επιλέξτε Τοποθεσίες λιμνών δεδομένων.
  2. Επιλέξτε Εγγραφή τοποθεσίας.
  3. Για Διαδρομή Amazon S3, εισαγω s3://blog-studio-pii-dataset-/ (ο κάδος που περιέχει το σύνολο δεδομένων).
  4. Επιλέξτε Εγγραφή τοποθεσίας.
    Τώρα εκχωρείτε δικαιώματα βάσης δεδομένων και πίνακα Lake Formation στους ρόλους IAM SageMakerStudioExecutionRole_data-engineer και SageMakerStudioExecutionRole_data-scientist.Πρώτον, παραχωρήστε άδεια βάσης δεδομένων για SageMakerStudioExecutionRole_data-engineer:
  5. Κάτω από Δικαιώματα, επιλέξτε Άδειες λίμνης δεδομένων.
  6. Κάτω από Άδεια δεδομένων, επιλέξτε Επιχορήγηση.
  7. Για Διευθυντές, επιλέξτε Χρήστες και ρόλοι IAMκαι επιλέξτε το ρόλο SageMakerStudioExecutionRole_data-engineer.
  8. Για Ετικέτες πολιτικής ή πόροι καταλόγου, επιλέξτε Επώνυμοι πόροι καταλόγου δεδομένων.
  9. Για Βάσεις Δεδομένων, επιλέξτε επίδειξη.
  10. Για Δικαιώματα βάσης δεδομένων, επιλέξτε Σούπερ.
  11. Επιλέξτε Επιχορήγηση.
    Στη συνέχεια, παραχωρήστε άδεια πίνακα για SageMakerStudioExecutionRole_data-engineer:
  12. Κάτω από Άδεια δεδομένων, επιλέξτε Επιχορήγηση.
  13. Για Διευθυντές, επιλέξτε Χρήστες και ρόλοι IAMκαι επιλέξτε το ρόλο SageMakerStudioExecutionRole_data-engineer.
  14. Για Ετικέτες πολιτικής ή πόροι καταλόγου, επιλέξτε Επώνυμοι πόροι καταλόγου δεδομένων.
  15. Για Βάσεις Δεδομένων, επιλέξτε demo.
  16. Για πίνακες, επιλέξτε web_marketing.
  17. Για Τραπέζι δικαιώματα, επιλέξτε Σούπερ.
  18. Για Χορηγούμενο δικαιώματα, επιλέξτε Σούπερ.
  19. Επιλέξτε Επιχορήγηση.
    Τέλος, παραχωρήστε άδεια βάσης δεδομένων για SageMakerStudioExecutionRole_data-scientist:
  20. Κάτω από Άδεια δεδομένων, επιλέξτε Επιχορήγηση.
  21. Για Διευθυντές, επιλέξτε Χρήστες και ρόλοι IAMκαι επιλέξτε το ρόλο SageMakerStudioExecutionRole_data-scientist.
  22. Για Ετικέτες πολιτικής ή πόροι καταλόγου, επιλέξτε Επώνυμοι πόροι καταλόγου δεδομένων.
  23. Για Βάσεις Δεδομένων, επιλέξτε demo.
  24. Για Δικαιώματα βάσης δεδομένων, επιλέξτε Περιγράφω.
  25. Επιλέξτε Επιχορήγηση.

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

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

Praveen Kumar είναι αρχιτέκτονας λύσεων Analytics στην AWS με εξειδίκευση στο σχεδιασμό, την κατασκευή και την εφαρμογή σύγχρονων πλατφορμών δεδομένων και αναλυτικών στοιχείων χρησιμοποιώντας υπηρεσίες cloud-native. Οι τομείς των ενδιαφερόντων του είναι η τεχνολογία χωρίς διακομιστή, οι σύγχρονες αποθήκες δεδομένων cloud, οι εφαρμογές ροής και ML.

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

Νόριτακα Σεκιγιάμα είναι Κύριος Αρχιτέκτονας Μεγάλων Δεδομένων στην ομάδα AWS Glue. Του αρέσει να συνεργάζεται με διαφορετικές ομάδες για να προσφέρει αποτελέσματα όπως αυτή η ανάρτηση. Στον ελεύθερο χρόνο του, του αρέσει να παίζει βιντεοπαιχνίδια με την οικογένειά του.

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

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