एडब्ल्यूएस ग्लू इंटरैक्टिव सत्र और अमेज़ॅन सेजमेकर स्टूडियो प्लेटोब्लॉकचेन डेटा इंटेलिजेंस का उपयोग करके संवेदनशील डेटा सुरक्षा के साथ बड़े पैमाने पर फीचर इंजीनियरिंग। लंबवत खोज. ऐ.

एडब्ल्यूएस ग्लू इंटरैक्टिव सत्र और अमेज़ॅन सैजमेकर स्टूडियो का उपयोग करके संवेदनशील डेटा सुरक्षा के साथ बड़े पैमाने पर फीचर इंजीनियरिंग

ग्राहक अनुभव को बढ़ाने, परिचालन लागत को कम करने और व्यावसायिक परिणामों को बेहतर बनाने के लिए नई संभावनाओं को अनलॉक करने के लिए संगठन मशीन लर्निंग (एमएल) और एआई सेवाओं का उपयोग कर रहे हैं। डेटा एमएल और एआई उपयोग के मामलों को रेखांकित करता है और एक संगठन के लिए एक रणनीतिक संपत्ति है। जैसा कि डेटा एक घातीय दर से बढ़ रहा है, संगठन डेटा को प्रीप्रोसेस करने, फीचर इंजीनियरिंग करने और बड़े पैमाने पर एमएल मॉडल बनाने, प्रशिक्षित करने और संचालित करने के लिए एक एकीकृत, लागत प्रभावी और प्रदर्शनकारी डेटा प्लेटफ़ॉर्म स्थापित करने की तलाश कर रहे हैं। इसे प्राप्त करने के लिए, AWS एक एकीकृत आधुनिक डेटा प्लेटफ़ॉर्म प्रदान करता है जो इसके द्वारा संचालित होता है अमेज़न सरल भंडारण सेवा (Amazon S3) एनालिटिक्स और एमएल वर्कलोड का समर्थन करने के लिए उद्देश्य से निर्मित टूल और प्रोसेसिंग इंजन के साथ डेटा लेक के रूप में। एक एकीकृत एमएल अनुभव के लिए, आप उपयोग कर सकते हैं अमेज़ॅन सैजमेकर स्टूडियो, जो प्रदान करता है एडब्ल्यूएस गोंद इंटरैक्टिव सत्र के साथ देशी एकीकरण संवेदनशील डेटा सुरक्षा के साथ बड़े पैमाने पर फ़ीचर इंजीनियरिंग करने के लिए। इस पोस्ट में, हम प्रदर्शित करते हैं कि इस समाधान को कैसे लागू किया जाए।

अमेज़न SageMaker एक पूरी तरह से प्रबंधित एमएल सेवा है जो आपको उपयोग के मामलों की एक विस्तृत श्रृंखला के लिए बड़े पैमाने पर मॉडल बनाने, प्रशिक्षित करने और तैनात करने में सक्षम बनाती है। मॉडल प्रशिक्षण के लिए, आप इनमें से किसी का भी उपयोग कर सकते हैं अंतर्निहित एल्गोरिदम सैजमेकर के भीतर एमएल मॉडल को प्रशिक्षण और तैनाती पर जल्दी से शुरू करने के लिए।

मॉडल निर्माण और विकास प्रक्रिया का एक प्रमुख घटक फीचर इंजीनियरिंग है। एडब्ल्यूएस गोंद बड़े पैमाने पर फीचर इंजीनियरिंग हासिल करने के लिए अनुशंसित विकल्पों में से एक है। एडब्ल्यूएस ग्लू आपको सर्वर रहित अपाचे स्पार्क इंफ्रास्ट्रक्चर पर वितरित फैशन में डेटा एकीकरण और परिवर्तन चलाने में सक्षम बनाता है, और फीचर इंजीनियरिंग और मॉडल विकास के लिए लोकप्रिय स्पार्क एमएल लाइब्रेरी का उपयोग करना आसान बनाता है। इसके अलावा, आप वृद्धिशील डेटा प्रोसेसिंग के लिए AWS Glue का उपयोग कर सकते हैं नौकरी बुकमार्क, उपयोग करके 100 से अधिक स्रोतों से डेटा निगलना connectors, और नुकीले या अप्रत्याशित वर्कलोड का उपयोग करके चलाते हैं ऑटो स्केलिंग.

एमएल-आधारित अनुप्रयोगों के लिए एक अन्य महत्वपूर्ण आवश्यकता डेटा सुरक्षा और अभिगम नियंत्रण है। फीचर इंजीनियरिंग और मॉडल निर्माण प्रक्रिया के हिस्से के रूप में सबसे संवेदनशील डेटा तक कौन पहुंच सकता है, इस पर सख्त नियंत्रण रखने की आम मांग है। इसे प्राप्त करने के लिए, आप AWS Glue एकीकरण का उपयोग कर सकते हैं AWS झील निर्माण डेटा लेक संपत्ति के शासन और प्रबंधन में वृद्धि के लिए। लेक फॉर्मेशन के साथ, आप अपने Amazon S3 डेटा लेक के शीर्ष पर ठीक-ठाक डेटा एक्सेस कंट्रोल और सुरक्षा नीतियों को कॉन्फ़िगर कर सकते हैं। नीतियों को एक केंद्रीय स्थान में परिभाषित किया गया है, जिससे कई एनालिटिक्स और एमएल सेवाओं की अनुमति मिलती है, जैसे एडब्ल्यूएस ग्लू, अमेज़न एथेना, और SageMaker, Amazon S3 में संग्रहीत डेटा के साथ इंटरैक्ट करने के लिए।

एडब्ल्यूएस गोंद में एक शामिल है व्यक्तिगत रूप से पहचान योग्य जानकारी (पीआईआई) पहचान ट्रांसफ़ॉर्म जो अनुपालन और शासन में वृद्धि के लिए आवश्यकतानुसार संस्थाओं का पता लगाने, उन्हें छिपाने या हटाने की क्षमता प्रदान करता है। पीआईआई रूपांतरण के साथ, आप डेटासेट में पीआईआई डेटा का पता लगा सकते हैं और विभिन्न उपयोगकर्ता समूहों के लिए संवेदनशील डेटा को प्रतिबंधित करने के लिए लेक फॉर्मेशन का उपयोग करके स्वचालित रूप से सूक्ष्म अभिगम नियंत्रण लागू कर सकते हैं।

उदाहरण

हम एक प्रवृत्ति मॉडल उपयोग मामले पर ध्यान केंद्रित करते हैं जिसमें एक ग्राहक विपणन डेटासेट शामिल होता है और इसमें दो उपयोगकर्ता व्यक्तित्व शामिल होते हैं: एक डेटा इंजीनियर और डेटा वैज्ञानिक। डेटासेट में प्रति-ग्राहक जानकारी होती है, जिसमें लीड स्रोत, संपर्क नोट, कार्य भूमिका, कुछ फ़्लैग, प्रति विज़िट पृष्ठ दृश्य, और बहुत कुछ शामिल हैं। डेटासेट में व्यक्तिगत फ़ोन नंबर जैसी संवेदनशील जानकारी भी शामिल होती है।

डेटा इंजीनियर डेटा तैयारी, प्रीप्रोसेसिंग और एक्सेस कंट्रोल सहित एंड-टू-एंड डेटा प्रोसेसिंग पाइपलाइन के निर्माण के लिए ज़िम्मेदार है। डेटा वैज्ञानिक फीचर इंजीनियरिंग, और प्रशिक्षण और एमएल मॉडल की तैनाती के लिए जिम्मेदार है। ध्यान दें कि डेटा वैज्ञानिक को फीचर इंजीनियरिंग या एमएल मॉडल के प्रशिक्षण के लिए किसी भी पीआईआई संवेदनशील डेटा तक पहुंचने की अनुमति नहीं है।

इस उपयोग के मामले के हिस्से के रूप में, डेटा इंजीनियर डेटासेट को प्रीप्रोसेस करने के लिए डेटा पाइपलाइन बनाता है, किसी भी PII जानकारी के लिए डेटासेट को स्कैन करता है, और डेटा वैज्ञानिक उपयोगकर्ता के लिए PII कॉलम की पहुंच को प्रतिबंधित करता है। नतीजतन, जब एक डेटा वैज्ञानिक फीचर इंजीनियरिंग करने और एमएल मॉडल बनाने के लिए डेटासेट का उपयोग करता है, तो उनके पास पीआईआई संवेदनशील कॉलम (इस मामले में फोन नंबर) तक पहुंच नहीं होती है। फीचर इंजीनियरिंग प्रक्रिया में टाइप स्ट्रिंग के कॉलम को एक प्रारूप में परिवर्तित करना शामिल है जो एमएल मॉडल के लिए इष्टतम है। एक उन्नत उपयोग के मामले के रूप में, आप लेक फॉर्मेशन का उपयोग करके पंक्ति-स्तर और सेल-स्तर की सुरक्षा को लागू करने के लिए इस एक्सेस पैटर्न का विस्तार कर सकते हैं।

समाधान अवलोकन

समाधान में निम्न उच्च-स्तरीय चरण शामिल हैं:

  1. के साथ संसाधन सेट करें एडब्ल्यूएस CloudFormation.
  2. एडब्ल्यूएस ग्लू इंटरएक्टिव सत्र पर पीआईआई डिटेक्शन और फाइन-ग्रेन्ड एक्सेस कंट्रोल सहित डेटासेट को प्रीप्रोसेस करें।
  3. एडब्ल्यूएस ग्लू इंटरएक्टिव सत्र पर फीचर इंजीनियरिंग करें।
  4. SageMaker में निर्मित XGBoost एल्गोरिथम का उपयोग करके एमएल मॉडल को प्रशिक्षित और परिनियोजित करें।
  5. एमएल मॉडल का मूल्यांकन करें।

निम्नलिखित चित्र समाधान वास्तुकला को दर्शाता है।

.. पूर्वापेक्षाएँ

इस ट्यूटोरियल को पूरा करने के लिए, आपके पास निम्नलिखित पूर्वापेक्षाएँ होनी चाहिए:

AWS CloudFormation के साथ संसाधन सेट करें

इस पोस्ट में त्वरित सेटअप के लिए क्लाउडफॉर्मेशन टेम्पलेट शामिल है। आप अपनी आवश्यकताओं के अनुरूप इसकी समीक्षा और अनुकूलन कर सकते हैं। यदि आप पर संसाधन स्थापित करना पसंद करते हैं एडब्ल्यूएस प्रबंधन कंसोल और AWS CloudFormation के बजाय AWS CLI, इस पोस्ट के अंत में परिशिष्ट में निर्देश देखें।

CloudFormation टेम्पलेट निम्नलिखित संसाधन उत्पन्न करता है:

  • नमूना डेटासेट के साथ S3 बकेट
  • An AWS लाम्बा डेटासेट लोड करने के लिए कार्य करें
  • AWS पहचान और अभिगम प्रबंधन (आईएएम) समूह, उपयोगकर्ता, भूमिकाएं और नीतियां
  • लेक फॉर्मेशन डेटा लेक सेटिंग्स और अनुमतियां
  • सेजमेकर उपयोगकर्ता प्रोफाइल

अपने संसाधन बनाने के लिए, निम्नलिखित चरणों को पूरा करें:

  1. कंसोल में साइन इन करें।
  2. चुनें स्टैक लॉन्च करें:
    लॉन्च बटन
  3. चुनें अगला.
  4. के लिए डेटा इंजीनियर पीडब्ल्यूडी और डेटा साइंटिस्ट पीडब्ल्यूडी, डेटा इंजीनियर और डेटा वैज्ञानिक उपयोगकर्ताओं के लिए अपना पासवर्ड दर्ज करें।
  5. के लिए गोंदडेटाबेसनाम, दर्ज demo.
  6. के लिए ग्लूटेबलनाम, दर्ज web_marketing.
  7. के लिए S3BucketNameForInput, दर्ज blog-studio-pii-dataset-.
  8. के लिए S3BucketNameForOutput, दर्ज blog-studio-output-.
  9. के लिए सेजमेकरडोमेनआईडी, अपनी SageMaker डोमेन आईडी दर्ज करें जिसे आपने आवश्यक चरणों में तैयार किया था।
  10. चुनें अगला.
  11. अगले पेज पर, चुनें अगला.
  12. अंतिम पृष्ठ पर विवरण की समीक्षा करें और चुनें मैं स्वीकार करता हूं कि AWS CloudFormation IAM संसाधन बना सकता है.
  13. चुनें बनाएं.

ढेर बनाने में 10 मिनट तक लग सकते हैं। स्टैक दो व्यक्तियों के लिए IAM भूमिकाएँ और SageMaker उपयोगकर्ता प्रोफ़ाइल बनाता है: डेटा इंजीनियर और डेटा वैज्ञानिक। यह एक डेटाबेस डेमो और टेबल भी बनाता है web_marketing एक नमूना डेटासेट के साथ।

स्टैक निर्माण के समय, डेटा इंजीनियर व्यक्तित्व के पास तालिका तक पूर्ण पहुंच होती है, लेकिन डेटा वैज्ञानिक व्यक्तित्व के पास अभी तक तालिका तक कोई पहुंच नहीं होती है।

डेटासेट को प्रीप्रोसेस करें

आइए AWS Glue इंटरैक्टिव सत्र पर डेटा की प्रीप्रोसेसिंग शुरू करें। डेटा इंजीनियर व्यक्तित्व यह देखने के लिए डेटा को सत्यापित करना चाहता है कि संवेदनशील डेटा है या नहीं, और डेटा वैज्ञानिक व्यक्तित्व को न्यूनतम एक्सेस अनुमति प्रदान करता है। से नोटबुक डाउनलोड कर सकते हैं इस स्थान.

  1. डेटा-इंजीनियर उपयोगकर्ता का उपयोग करके कंसोल में साइन इन करें।
  2. SageMaker कंसोल पर, चुनें उपयोगकर्ता.
  3. डेटा-इंजीनियर उपयोगकर्ता का चयन करें और चुनें स्टूडियो खोलें.
  4. एक नई नोटबुक बनाएं और चुनें स्पार्कएनालिटिक्स 1.0 एसटी छवि और गोंद पायस्पार्क एसटी गुठली.
  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. तालिका में सत्यापित करें कि क्या AWS गोंद PII पहचान का उपयोग करके कोई 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 के रूप में वर्गीकृत कॉलम में संवेदनशील डेटा है या नहीं (यदि नहीं, तो गैर-संवेदनशील कॉलम को छोड़ने के लिए क्लासिफाइड_मैप अपडेट करें):
    from pyspark.sql.functions import col
    dyf_marketing_resolved.toDF().select(*[col(c) for c in classified_map.keys()]).show()

  10. स्वचालित रूप से खोजे गए स्तंभों के लिए डेटा सेल फ़िल्टर का उपयोग करके झील निर्माण अनुमतियाँ सेट करें, और स्तंभों को डेटा वैज्ञानिक व्यक्तित्व तक सीमित करें:
    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. यह देखने के लिए कि PII कॉलम दिखाई नहीं दे रहे हैं, स्टूडियो में डेटा-साइंटिस्ट के रूप में लॉग इन करें। से नोटबुक डाउनलोड कर सकते हैं इस स्थान.
  12. एक नई नोटबुक बनाएं और चुनें स्पार्कएनालिटिक्स 1.0 एसटी छवि और गोंद पायस्पार्क एसटी गुठली:
    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. निम्नलिखित सेल में, हम से सुविधाएँ लागू करते हैं अपाचे स्पार्क एमएल लाइब्रेरी:
    • StringIndexer लेबल इंडेक्स के कॉलम में लेबल के स्ट्रिंग कॉलम को मैप करता है।
    • OneHotEncoder एक विशिष्ट श्रेणीबद्ध सुविधा की उपस्थिति को इंगित करने वाले एकल-मान वाले बाइनरी वेक्टर के लिए एक लेबल इंडेक्स के रूप में दर्शाए गए एक स्पष्ट विशेषता को मैप करता है। इस परिवर्तन का उपयोग एमएल एल्गोरिदम के लिए किया जाता है जो निरंतर सुविधाओं की अपेक्षा करता है।
    • VectorAssembler एक ट्रांसफॉर्मर है जो कॉलम की दी गई सूची को एक वेक्टर कॉलम में जोड़ता है, जिसे बाद में लॉजिस्टिक रिग्रेशन और डिसीजन ट्री जैसे एल्गोरिदम के लिए एमएल मॉडल के प्रशिक्षण में उपयोग किया जाता है।
    #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. पाइपलाइन लाइब्रेरी का उपयोग करके अंतिम रूपांतरित डेटाफ़्रेम बनाया जा सकता है। एक पाइपलाइन को चरणों के अनुक्रम के रूप में निर्दिष्ट किया गया है। इन चरणों को क्रम में चलाया जाता है और इनपुट डेटाफ़्रेम को रूपांतरित किया जाता है क्योंकि यह प्रत्येक चरण से गुजरता है।
    df_marketing = dyf_marketing.toDF()
    pipeline = Pipeline(stages=indexers + encoders + [assembler])
    df_tfm=pipeline.fit(df_marketing).transform(df_marketing)
    

  3. अगला, हम डेटासेट को ट्रेन में विभाजित करते हैं, सत्यापित करते हैं और डेटाफ़्रेम का परीक्षण करते हैं और एमएल मॉडल को प्रशिक्षित करने के लिए इसे S3 बकेट में सहेजते हैं (निम्नलिखित कोड में अपना 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))

एक एमएल मॉडल को प्रशिक्षित और तैनात करें

पिछले अनुभाग में, हमने फीचर इंजीनियरिंग को पूरा किया, जिसमें स्ट्रिंग कॉलम जैसे परिवर्तित करना शामिल था region, jobrole, तथा usedpromo एक प्रारूप में जो एमएल मॉडल के लिए इष्टतम है। हमने जैसे कॉलम भी शामिल किए pageviewspervisit और totalwebvisits, जो हमें उत्पाद खरीदने के लिए ग्राहक की प्रवृत्ति का अनुमान लगाने में मदद करेगा।

अब हम SageMaker बिल्ट-इन XGBoost एल्गोरिथम का उपयोग करके ट्रेन और सत्यापन डेटासेट को पढ़कर एक ML मॉडल को प्रशिक्षित करते हैं। फिर हम मॉडल को तैनात करते हैं और एक सटीकता जांच चलाते हैं। से नोटबुक डाउनलोड कर सकते हैं इस स्थान.

निम्नलिखित सेल में, हम दूसरे S3 बकेट से डेटा पढ़ रहे हैं, जिसमें हमारे फीचर इंजीनियरिंग ऑपरेशंस से आउटपुट शामिल है। फिर हम मॉडल को प्रशिक्षित करने के लिए अंतर्निहित एल्गोरिथम XGBoost का उपयोग करते हैं।

  1. एक नई नोटबुक खोलें। चुनना डाटा विज्ञान एसटी छवि और अजगर 3 एसटी गुठली (निम्नलिखित कोड में अपनी एडब्ल्यूएस खाता आईडी प्रदान करें):
    #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')

एमएल मॉडल का मूल्यांकन करें

हम मॉडल का मूल्यांकन करने के लिए परीक्षण डेटासेट का उपयोग करते हैं और किसी भी चल रहे शुल्क से बचने के लिए जब हम काम पूरा कर लेते हैं तो निष्कर्ष समापन बिंदु को हटा देते हैं।

  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 स्टूडियो के भीतर।
  3. क्लाउडफॉर्मेशन स्टैक हटाएं।

निष्कर्ष

इस पोस्ट में, हमने एक समाधान प्रदर्शित किया है जो डेटा इंजीनियरों और डेटा वैज्ञानिकों जैसे व्यक्तियों को बड़े पैमाने पर फीचर इंजीनियरिंग करने में सक्षम बनाता है। एडब्ल्यूएस ग्लू इंटरएक्टिव सत्रों के साथ, आप किसी भी अंतर्निहित बुनियादी ढांचे को प्रबंधित करने की आवश्यकता के बिना स्वचालित पीआईआई पहचान और ठीक-ठाक पहुंच नियंत्रण के साथ बड़े पैमाने पर फीचर इंजीनियरिंग आसानी से प्राप्त कर सकते हैं। एकल प्रवेश बिंदु के रूप में स्टूडियो का उपयोग करके, आप एंड-टू-एंड एमएल वर्कफ़्लो बनाने के लिए एक सरलीकृत और एकीकृत अनुभव प्राप्त कर सकते हैं: एमएल मॉडल बनाने, प्रशिक्षण, ट्यूनिंग और तैनाती के लिए डेटा तैयार करने और सुरक्षित करने से। अधिक जानने के लिए, पर जाएँ एडब्ल्यूएस गोंद इंटरैक्टिव सत्र के साथ शुरुआत करना और अमेज़ॅन सैजमेकर स्टूडियो.

हम इस नई क्षमता को लेकर बहुत उत्साहित हैं और यह देखने के लिए उत्सुक हैं कि आप इसके साथ क्या बनाने जा रहे हैं!


परिशिष्ट: कंसोल और AWS CLI के माध्यम से संसाधन सेट अप करें

CloudFormation टेम्प्लेट के बजाय कंसोल और AWS CLI का उपयोग करके संसाधन सेट अप करने के लिए इस अनुभाग में दिए गए निर्देशों को पूरा करें।

.. पूर्वापेक्षाएँ

इस ट्यूटोरियल को पूरा करने के लिए, आपके पास AWS CLI तक पहुंच होनी चाहिए (देखें AWS CLI के साथ शुरुआत करना) या कमांड लाइन एक्सेस का उपयोग करें एडब्ल्यूएस क्लाउडशेल.

IAM समूह, उपयोगकर्ता, भूमिकाएँ और नीतियां कॉन्फ़िगर करें

इस खंड में, हम दो IAM उपयोगकर्ता बनाते हैं: डेटा-इंजीनियर और डेटा-वैज्ञानिक, जो IAM समूह डेटा-प्लेटफ़ॉर्म-समूह से संबंधित हैं। फिर हम IAM समूह में एकल IAM नीति जोड़ते हैं।

  1. IAM कंसोल पर, JSON टैब पर एक नीति बनाएं नाम से एक नई IAM प्रबंधित नीति बनाने के लिए DataPlatformGroupPolicy. नीति समूह में उपयोगकर्ताओं को स्टूडियो तक पहुंचने की अनुमति देती है, लेकिन केवल एक 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. समूह के लिए DataPlatformGroupPolicy नाम की AWS प्रबंधित नीति खोजें और संलग्न करें।
  4. आईएएम उपयोगकर्ता बनाएं 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 के लिए डेटा इंजीनियर (डेटा-इंजीनियर) के लिए, जिसका उपयोग संबंधित उपयोगकर्ता प्रोफ़ाइल की निष्पादन भूमिका के रूप में किया जाता है। पर अनुमतियाँ नीति संलग्न करें पृष्ठ, AmazonSageMakerFullAccess (AWS प्रबंधित नीति) डिफ़ॉल्ट रूप से संलग्न है। न्यूनतम विशेषाधिकार बनाए रखने के लिए आप बाद में इस नीति को हटा दें।
    1. के लिए भूमिका का नाम, SageMakerStudioExecutionRole_data-engineer की भूमिका को नाम देने के लिए इस खंड की शुरुआत में शुरू की गई नामकरण परंपरा का उपयोग करें।
    2. के लिए टैग, कुंजी userprofilename और मान डेटा-इंजीनियर जोड़ें।
    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 भूमिका बनाएँ डेटा साइंटिस्ट (डेटा-साइंटिस्ट) के लिए सेजमेकर के लिए, जिसका उपयोग संबंधित उपयोगकर्ता प्रोफ़ाइल की निष्पादन भूमिका के रूप में किया जाता है।
    1. के लिए भूमिका का नाम, SageMakerStudioExecutionRole_data-scientist की भूमिका का नाम दें।
    2. के लिए टैग, कुंजी userprofilename और मान डेटा-साइंटिस्ट जोड़ें।
    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 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. खाता आईडी और स्टूडियो डोमेन आईडी की जगह, डेटा वैज्ञानिक के लिए एक उपयोगकर्ता प्रोफ़ाइल बनाने के चरण को दोहराएं:
    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 बकेट बनाते हैं। पहली बकेट में वेब मार्केटिंग से संबंधित एक नमूना डेटासेट है। दूसरी बाल्टी का उपयोग डेटा वैज्ञानिक द्वारा फीचर इंजीनियरिंग कार्यों से आउटपुट को स्टोर करने के लिए किया जाता है, और इस आउटपुट डेटासेट का उपयोग एमएल मॉडल को प्रशिक्षित करने के लिए किया जाता है।

सबसे पहले, इनपुट डेटा के लिए S3 बकेट बनाएँ:

  1. डाउनलोड डेटासेट.
  2. अमेज़न S3 कंसोल पर, चुनें बाल्टी नेविगेशन फलक में
  3. चुनें बाल्टी बनाएँ.
  4. के लिए क्षेत्र, SageMaker डोमेन वाला क्षेत्र चुनें जिसमें आपके द्वारा बनाए गए उपयोगकर्ता प्रोफ़ाइल शामिल हैं।
  5. के लिए बकेट नाम, दर्ज blog-studio-pii-dataset-.
  6. चुनें बाल्टी बनाएँ.
  7. आपके द्वारा बनाई गई बाल्टी का चयन करें और चुनें अपलोड.
  8. में फ़ाइलें चुनें अनुभाग चुनते हैं, फाइलें जोड़ो और आपके द्वारा डाउनलोड किया गया डेटासेट अपलोड करें।
    अब आप आउटपुट डेटा के लिए बकेट बनाते हैं:
  9. पर बाल्टी पृष्ठ, चुनें बाल्टी बनाएँ.
  10. के लिए क्षेत्र, SageMaker डोमेन वाला क्षेत्र चुनें जिसमें आपके द्वारा बनाए गए उपयोगकर्ता प्रोफ़ाइल शामिल हैं।
  11. के लिए बकेट नाम, दर्ज blog-studio-output-.
  12. चुनें बाल्टी बनाएँ.

AWS गोंद डेटाबेस और तालिका बनाएँ

इस सेक्शन में, आप डेटासेट के लिए AWS Glue डेटाबेस और टेबल बनाते हैं।

  1. लेक फॉर्मेशन कंसोल पर, के तहत डेटा कैटलॉग नेविगेशन फलक में, चुनें डेटाबेस.
  2. चुनें डेटाबेस जोड़ें.
  3. के लिए नाम, डेमो दर्ज करें।
  4. चुनें डेटाबेस बनाएँ.
  5. के अंतर्गत डेटा कैटलॉग, चुनें टेबल्स.
  6. के लिए नाम, दर्ज web_marketing.
  7. के लिए डाटाबेस, चुनते हैं demo.
  8. के लिए पथ शामिल करें, इनपुट डेटा के लिए अपने S3 बकेट का पथ दर्ज करें।
  9. के लिए वर्गीकरण, चुनें CSV.
  10. के अंतर्गत स्कीमा, चुनें स्कीमा अपलोड करें.
  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. चुनें सहेजें.

झील निर्माण अनुमतियों को कॉन्फ़िगर करें

इस खंड में, आप IAM भूमिका की अनुमति देने के लिए लेक फॉर्मेशन अनुमतियाँ सेट करते हैं SageMakerStudioExecutionRole_data-engineer एक डेटाबेस बनाने और लेक फॉर्मेशन के भीतर S3 स्थान को पंजीकृत करने के लिए।

सबसे पहले, लेक फॉर्मेशन अनुमतियों में स्थान के तहत तालिकाओं का प्रबंधन करने के लिए डेटा लेक स्थान पंजीकृत करें:

  1. चुनें डेटा लेक लोकेशन.
  2. चुनें स्थान रजिस्टर करें.
  3. के लिए अमेज़न S3 पथ, दर्ज s3://blog-studio-pii-dataset-/ (बाल्टी जिसमें डेटासेट होता है)।
  4. चुनें स्थान रजिस्टर करें.
    अब आप 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 में एक एनालिटिक्स सॉल्यूशन आर्किटेक्ट है। उनकी रुचि के क्षेत्र सर्वर रहित तकनीक, आधुनिक क्लाउड डेटा वेयरहाउस, स्ट्रीमिंग और एमएल एप्लिकेशन हैं।

एडब्ल्यूएस ग्लू इंटरैक्टिव सत्र और अमेज़ॅन सेजमेकर स्टूडियो प्लेटोब्लॉकचेन डेटा इंटेलिजेंस का उपयोग करके संवेदनशील डेटा सुरक्षा के साथ बड़े पैमाने पर फीचर इंजीनियरिंग। लंबवत खोज. ऐ.

नोरिताका सेकियामा AWS Glue टीम में प्रिंसिपल बिग डेटा आर्किटेक्ट हैं। उन्हें इस पोस्ट की तरह परिणाम देने के लिए विभिन्न टीमों के साथ सहयोग करने में आनंद आता है। अपने खाली समय में, वह अपने परिवार के साथ वीडियो गेम खेलना पसंद करते हैं।

समय टिकट:

से अधिक AWS मशीन लर्निंग