AWS Glue ইন্টারেক্টিভ সেশন এবং Amazon SageMaker Studio PlatoBlockchain ডেটা ইন্টেলিজেন্স ব্যবহার করে সংবেদনশীল ডেটা সুরক্ষা সহ বড় মাপের বৈশিষ্ট্য ইঞ্জিনিয়ারিং। উল্লম্ব অনুসন্ধান. আ.

এডব্লিউএস গ্লু ইন্টারেক্টিভ সেশন এবং অ্যামাজন সেজমেকার স্টুডিও ব্যবহার করে সংবেদনশীল ডেটা সুরক্ষা সহ বড় আকারের বৈশিষ্ট্য ইঞ্জিনিয়ারিং

প্রতিষ্ঠানগুলি গ্রাহকদের অভিজ্ঞতা বাড়াতে, অপারেশনাল খরচ কমাতে এবং ব্যবসায়িক ফলাফল উন্নত করতে নতুন সম্ভাবনা আনলক করতে মেশিন লার্নিং (ML) এবং AI পরিষেবা ব্যবহার করছে। ডেটা এমএল এবং এআই ব্যবহারের ক্ষেত্রে আন্ডারপিন করে এবং এটি একটি সংস্থার জন্য একটি কৌশলগত সম্পদ। যেহেতু ডেটা সূচকীয় হারে বাড়ছে, সংস্থাগুলি ডেটা প্রিপ্রসেস করার জন্য, ফিচার ইঞ্জিনিয়ারিং সঞ্চালন করতে এবং এমএল মডেলগুলিকে স্কেলে তৈরি, প্রশিক্ষণ এবং পরিচালনা করার জন্য একটি সমন্বিত, সাশ্রয়ী এবং কার্যকরী ডেটা প্ল্যাটফর্ম সেট আপ করতে চাইছে। এটি অর্জন করতে, AWS একটি ইউনিফাইড আধুনিক ডেটা প্ল্যাটফর্ম অফার করে যা দ্বারা চালিত হয় আমাজন সিম্পল স্টোরেজ সার্ভিস (Amazon S3) বিশ্লেষণ এবং এমএল ওয়ার্কলোড সমর্থন করার জন্য উদ্দেশ্য-নির্মিত সরঞ্জাম এবং প্রক্রিয়াকরণ ইঞ্জিন সহ ডেটা লেক হিসাবে। ইউনিফাইড এমএল অভিজ্ঞতার জন্য, আপনি ব্যবহার করতে পারেন অ্যামাজন সেজমেকার স্টুডিওযা অফার করে AWS Glue ইন্টারেক্টিভ সেশনের সাথে নেটিভ ইন্টিগ্রেশন সংবেদনশীল ডেটা সুরক্ষা সহ স্কেলে বৈশিষ্ট্য প্রকৌশল সম্পাদন করতে। এই পোস্টে, আমরা এই সমাধানটি কীভাবে বাস্তবায়ন করতে পারি তা প্রদর্শন করি।

আমাজন সেজমেকার একটি সম্পূর্ণরূপে পরিচালিত ML পরিষেবা যা আপনাকে বিস্তৃত ব্যবহারের ক্ষেত্রে মডেলগুলি তৈরি করতে, প্রশিক্ষণ দিতে এবং স্থাপন করতে সক্ষম করে৷ মডেল প্রশিক্ষণের জন্য, আপনি যেকোনো একটি ব্যবহার করতে পারেন অন্তর্নির্মিত অ্যালগরিদম SageMaker-এর মধ্যে প্রশিক্ষণ শুরু করতে এবং দ্রুত ML মডেল স্থাপন করতে।

মডেল বিল্ডিং এবং উন্নয়ন প্রক্রিয়ার একটি মূল উপাদান হল বৈশিষ্ট্য প্রকৌশল। এডাব্লুএস আঠালো স্কেলে বৈশিষ্ট্য প্রকৌশল অর্জনের জন্য প্রস্তাবিত বিকল্পগুলির মধ্যে একটি। AWS Glue আপনাকে সার্ভারহীন অ্যাপাচি স্পার্ক পরিকাঠামোতে বিতরণকৃত ফ্যাশনে ডেটা ইন্টিগ্রেশন এবং রূপান্তর চালাতে সক্ষম করে এবং বৈশিষ্ট্য প্রকৌশল এবং মডেল বিকাশের জন্য জনপ্রিয় স্পার্ক এমএল লাইব্রেরি ব্যবহার করা সহজ করে তোলে। উপরন্তু, আপনি ক্রমবর্ধমান ডেটা প্রক্রিয়াকরণের জন্য AWS আঠালো ব্যবহার করতে পারেন কাজের বুকমার্ক, ব্যবহার করে 100 টিরও বেশি উত্স থেকে ডেটা গ্রহণ করুন৷ সংযোগকারীগুলিকে, এবং ব্যবহার করে স্পাইকি বা অপ্রত্যাশিত কাজের চাপ চালান স্বয়ংক্রিয় স্কেলিং.

এমএল-ভিত্তিক অ্যাপ্লিকেশনগুলির জন্য আরেকটি গুরুত্বপূর্ণ প্রয়োজনীয়তা হ'ল ডেটা সুরক্ষা এবং অ্যাক্সেস নিয়ন্ত্রণ। ফিচার ইঞ্জিনিয়ারিং এবং মডেল বিল্ডিং প্রক্রিয়ার অংশ হিসাবে ন্যূনতম বিশেষাধিকার অ্যাক্সেসের মূলনীতি অনুসরণ করে কারা সবচেয়ে সংবেদনশীল ডেটা অ্যাক্সেস করতে পারে তার উপর কঠোর নিয়ন্ত্রণ থাকা সাধারণ দাবি। এটি অর্জন করতে, আপনি AWS গ্লু ইন্টিগ্রেশন ব্যবহার করতে পারেন AWS লেক গঠন ডাটা লেক সম্পদের বর্ধিত শাসন ও ব্যবস্থাপনার জন্য। লেক ফর্মেশনের মাধ্যমে, আপনি আপনার Amazon S3 ডেটা লেকের উপরে সূক্ষ্ম-দানাযুক্ত ডেটা অ্যাক্সেস নিয়ন্ত্রণ এবং নিরাপত্তা নীতিগুলি কনফিগার করতে পারেন। নীতিগুলি একটি কেন্দ্রীয় অবস্থানে সংজ্ঞায়িত করা হয়েছে, একাধিক বিশ্লেষণ এবং ML পরিষেবাগুলিকে অনুমতি দেয়, যেমন AWS Glue, অ্যামাজন অ্যাথেনা, এবং SageMaker, Amazon S3 এ সঞ্চিত ডেটার সাথে ইন্টারঅ্যাক্ট করতে।

AWS আঠালো একটি অন্তর্ভুক্ত ব্যক্তিগতভাবে সনাক্তযোগ্য তথ্য (PII) সনাক্তকরণ রূপান্তর যা বর্ধিত সম্মতি এবং শাসনের জন্য প্রয়োজনীয় সত্তা সনাক্ত, মুখোশ বা অপসারণ করার ক্ষমতা প্রদান করে। PII রূপান্তরের সাথে, আপনি ডেটাসেটে PII ডেটা সনাক্ত করতে পারেন এবং বিভিন্ন ব্যবহারকারী গোষ্ঠীর জন্য সংবেদনশীল ডেটা সীমাবদ্ধ করতে লেক ফর্মেশন ব্যবহার করে স্বয়ংক্রিয়ভাবে সূক্ষ্ম-দানাযুক্ত অ্যাক্সেস নিয়ন্ত্রণ প্রয়োগ করতে পারেন।

ব্যবহারের ক্ষেত্রে

আমরা একটি প্রবণতা মডেল ব্যবহারের ক্ষেত্রে ফোকাস করি যাতে একটি গ্রাহক বিপণন ডেটাসেট অন্তর্ভুক্ত থাকে এবং এতে দুটি ব্যবহারকারী ব্যক্তি জড়িত থাকে: একজন ডেটা ইঞ্জিনিয়ার এবং ডেটা সায়েন্টিস্ট৷ ডেটাসেটে প্রতি-গ্রাহকের তথ্য রয়েছে, যার মধ্যে রয়েছে প্রধান উৎস, পরিচিতি নোট, কাজের ভূমিকা, কিছু পতাকা, প্রতি ভিজিটে পৃষ্ঠা দেখা এবং আরও অনেক কিছু। ডেটাসেটে ব্যক্তিগত ফোন নম্বরের মতো সংবেদনশীল তথ্যও রয়েছে।

ডেটা প্রিপারেশন, প্রিপ্রসেসিং এবং অ্যাক্সেস কন্ট্রোল সহ এন্ড-টু-এন্ড ডেটা প্রসেসিং পাইপলাইন তৈরির জন্য ডেটা ইঞ্জিনিয়ার দায়ী। ডেটা সায়েন্টিস্ট ফিচার ইঞ্জিনিয়ারিং এবং এমএল মডেলের প্রশিক্ষণ ও স্থাপনের জন্য দায়ী। উল্লেখ্য যে ডেটা সায়েন্টিস্টকে ফিচার ইঞ্জিনিয়ারিং বা এমএল মডেলের প্রশিক্ষণের জন্য কোনো PII সংবেদনশীল ডেটা অ্যাক্সেস করার অনুমতি দেওয়া হয় না।

এই ব্যবহারের ক্ষেত্রে, ডেটা ইঞ্জিনিয়ার ডেটাসেটটি প্রিপ্রসেস করার জন্য একটি ডেটা পাইপলাইন তৈরি করে, যেকোনো PII তথ্যের জন্য ডেটাসেট স্ক্যান করে এবং ডেটা বিজ্ঞানী ব্যবহারকারীর কাছে PII কলামের অ্যাক্সেস সীমাবদ্ধ করে। ফলস্বরূপ, যখন একজন ডেটা সায়েন্টিস্ট ফিচার ইঞ্জিনিয়ারিং সম্পাদন করতে এবং এমএল মডেল তৈরি করতে ডেটাসেট ব্যবহার করেন, তখন তাদের PII সংবেদনশীল কলামে (ফোন নম্বর, এই ক্ষেত্রে) অ্যাক্সেস থাকে না। ফিচার ইঞ্জিনিয়ারিং প্রক্রিয়ায় টাইপ স্ট্রিং-এর কলামগুলিকে একটি ফর্ম্যাটে রূপান্তর করা জড়িত যা ML মডেলগুলির জন্য সর্বোত্তম। একটি উন্নত ব্যবহারের ক্ষেত্রে, আপনি লেক ফর্মেশন ব্যবহার করে সারি-স্তর এবং সেল-স্তরের নিরাপত্তা বাস্তবায়নের জন্য এই অ্যাক্সেস প্যাটার্নটি প্রসারিত করতে পারেন।

সমাধান ওভারভিউ

সমাধানটিতে নিম্নলিখিত উচ্চ-স্তরের পদক্ষেপগুলি রয়েছে:

  1. সঙ্গে সম্পদ সেট আপ করুন এডাব্লুএস ক্লাউডফর্মেশন.
  2. একটি AWS Glue ইন্টারেক্টিভ সেশনে PII সনাক্তকরণ এবং সূক্ষ্ম-দানাযুক্ত অ্যাক্সেস নিয়ন্ত্রণ সহ ডেটাসেট প্রিপ্রসেস করুন।
  3. একটি AWS গ্লু ইন্টারেক্টিভ সেশনে বৈশিষ্ট্য প্রকৌশল সম্পাদন করুন।
  4. SageMaker বিল্ট-ইন XGBoost অ্যালগরিদম ব্যবহার করে একটি ML মডেলকে প্রশিক্ষণ দিন এবং স্থাপন করুন।
  5. ML মডেল মূল্যায়ন.

নিম্নলিখিত চিত্রটি সমাধানের স্থাপত্যকে চিত্রিত করে।

পূর্বশর্ত

এই টিউটোরিয়ালটি সম্পূর্ণ করতে, আপনার অবশ্যই নিম্নলিখিত পূর্বশর্তগুলি থাকতে হবে:

AWS CloudFormation এর সাথে সংস্থান সেট আপ করুন

এই পোস্টে একটি দ্রুত সেটআপের জন্য একটি CloudFormation টেমপ্লেট রয়েছে৷ আপনি আপনার প্রয়োজন অনুসারে এটি পর্যালোচনা এবং কাস্টমাইজ করতে পারেন। আপনি যদি রিসোর্স সেট আপ করতে পছন্দ করেন এডাব্লুএস ম্যানেজমেন্ট কনসোল এবং AWS ক্লাউডফর্মেশনের পরিবর্তে AWS CLI, এই পোস্টের শেষে পরিশিষ্টে নির্দেশাবলী দেখুন।

ক্লাউডফর্মেশন টেমপ্লেটটি নিম্নলিখিত সংস্থানগুলি উত্পন্ন করে:

আপনার সংস্থানগুলি তৈরি করতে, নিম্নলিখিত পদক্ষেপগুলি সম্পূর্ণ করুন:

  1. কনসোলে সাইন ইন করুন।
  2. বেছে নিন স্ট্যাক চালু করুন:
    লঞ্চ বোতাম
  3. বেছে নিন পরবর্তী.
  4. জন্য ডেটা ইঞ্জিনিয়ার পিডব্লিউডি এবং ডেটা সায়েন্টিস্ট পিডব্লিউডি, ডেটা ইঞ্জিনিয়ার এবং ডেটা সায়েন্টিস্ট ব্যবহারকারীদের জন্য আপনার নিজের পাসওয়ার্ড লিখুন।
  5. জন্য আঠালো ডেটাবেস নামপ্রবেশ করান demo.
  6. জন্য GlueTableNameপ্রবেশ করান web_marketing.
  7. জন্য S3BucketNameForInputপ্রবেশ করান blog-studio-pii-dataset-.
  8. জন্য S3BucketNameForOutputপ্রবেশ করান blog-studio-output-.
  9. জন্য SageMakerDomainId, আপনার সেজমেকার ডোমেন আইডি লিখুন যা আপনি পূর্বশর্ত পদক্ষেপে প্রস্তুত করেছেন।
  10. বেছে নিন পরবর্তী.
  11. পরের পৃষ্ঠায়, চয়ন করুন পরবর্তী.
  12. চূড়ান্ত পৃষ্ঠায় বিশদটি পর্যালোচনা করুন এবং নির্বাচন করুন আমি স্বীকার করি যে এডাব্লুএস ক্লাউডফর্মেশন আইএএম সংস্থান তৈরি করতে পারে.
  13. বেছে নিন সৃষ্টি.

স্ট্যাক তৈরি করতে 10 মিনিট পর্যন্ত সময় লাগতে পারে। স্ট্যাকটি দুটি ব্যক্তিত্বের জন্য IAM ভূমিকা এবং SageMaker ব্যবহারকারী প্রোফাইল তৈরি করে: ডেটা ইঞ্জিনিয়ার এবং ডেটা সায়েন্টিস্ট৷ এটি একটি ডাটাবেস ডেমো এবং টেবিলও তৈরি করে web_marketing একটি নমুনা ডেটাসেট সহ।

স্ট্যাক তৈরির সময়, ডেটা ইঞ্জিনিয়ার ব্যক্তিত্বের টেবিলে সম্পূর্ণ অ্যাক্সেস থাকে, কিন্তু ডেটা সায়েন্টিস্ট ব্যক্তিত্বের এখনও টেবিলে কোনো অ্যাক্সেস নেই।

ডেটাসেট প্রিপ্রসেস করুন

আসুন একটি AWS Glue ইন্টারেক্টিভ সেশনে ডেটা প্রিপ্রসেস করা শুরু করি। ডেটা ইঞ্জিনিয়ার ব্যক্তিত্ব সংবেদনশীল ডেটা আছে কি না তা দেখতে ডেটা যাচাই করতে চায় এবং ডেটা বিজ্ঞানী ব্যক্তিত্বকে ন্যূনতম অ্যাক্সেসের অনুমতি দিতে চায়। থেকে নোটবুক ডাউনলোড করতে পারেন এই অবস্থান.

  1. ডেটা-ইঞ্জিনিয়ার ব্যবহারকারী ব্যবহার করে কনসোলে সাইন ইন করুন।
  2. সেজমেকার কনসোলে, নির্বাচন করুন ব্যবহারকারীরা.
  3. ডেটা-ইঞ্জিনিয়ার ব্যবহারকারী নির্বাচন করুন এবং নির্বাচন করুন ওপেন স্টুডিও.
  4. একটি নতুন নোটবুক তৈরি করুন এবং নির্বাচন করুন স্পার্ক অ্যানালিটিক্স 1.0 উন্নত ভাবমূর্তি এবং আঠালো PySpark উন্নত শাঁস.
  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 গ্লু ডায়নামিক ফ্রেম তৈরি করুন, এবং পছন্দ ধরনের সমাধান করুন ক্যাটালগ স্কিমার উপর ভিত্তি করে, কারণ আমরা ডেটার উপর ভিত্তি করে স্বয়ংক্রিয়ভাবে অনুমানকৃত স্কিমার পরিবর্তে ক্যাটালগে সংজ্ঞায়িত স্কিমা ব্যবহার করতে চাই:
    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 Glue 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 হিসাবে শ্রেণীবদ্ধ কলামগুলিতে সংবেদনশীল ডেটা রয়েছে কিনা তা যাচাই করুন (যদি না থাকে, অ-সংবেদনশীল কলামগুলি ফেলে দিতে classified_map আপডেট করুন):
    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 উন্নত ভাবমূর্তি এবং আঠালো PySpark উন্নত শাঁস:
    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 একটি শ্রেণীবদ্ধ বৈশিষ্ট্য ম্যাপ করে, একটি লেবেল সূচক হিসাবে উপস্থাপিত, একটি বাইনারি ভেক্টরে সর্বাধিক একটি একক-মান রয়েছে যা একটি নির্দিষ্ট শ্রেণীগত বৈশিষ্ট্যের উপস্থিতি নির্দেশ করে। এই রূপান্তরটি ML অ্যালগরিদমগুলির জন্য ব্যবহৃত হয় যা ক্রমাগত বৈশিষ্ট্যগুলি আশা করে৷
    • 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. এর পরে, আমরা ডেটাসেটটিকে ট্রেনে বিভক্ত করি, যাচাই করি এবং ডেটাফ্রেম পরীক্ষা করি এবং ML মডেলকে প্রশিক্ষণ দেওয়ার জন্য এটিকে S3 বালতিতে সংরক্ষণ করি (নিম্নলিখিত কোডে আপনার AWS অ্যাকাউন্ট ID প্রদান করুন):
    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, যা আমাদের একটি গ্রাহকের পণ্য কেনার প্রবণতা অনুমান করতে সাহায্য করবে৷

আমরা এখন SageMaker বিল্ট-ইন XGBoost অ্যালগরিদম ব্যবহার করে ট্রেন এবং বৈধতা ডেটাসেট পড়ার মাধ্যমে একটি ML মডেল প্রশিক্ষণ দিই। তারপরে আমরা মডেলটি স্থাপন করি এবং একটি নির্ভুলতা পরীক্ষা চালাই। থেকে নোটবুক ডাউনলোড করতে পারেন এই অবস্থান.

নিম্নলিখিত কক্ষে, আমরা দ্বিতীয় S3 বালতি থেকে ডেটা পড়ছি, যা আমাদের বৈশিষ্ট্য প্রকৌশল ক্রিয়াকলাপ থেকে আউটপুট অন্তর্ভুক্ত করে। তারপরে আমরা মডেলটি প্রশিক্ষণের জন্য অন্তর্নির্মিত অ্যালগরিদম XGBoost ব্যবহার করি।

  1. একটি নতুন নোটবুক খুলুন। পছন্দ করা ডেটা বিজ্ঞান উন্নত ভাবমূর্তি এবং পাইথন 3 উন্নত শাঁস (নিম্নলিখিত কোডে আপনার 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 স্টুডিওর মধ্যে।
  3. ক্লাউডফর্মেশন স্ট্যাক মুছুন।

উপসংহার

এই পোস্টে, আমরা একটি সমাধান প্রদর্শন করেছি যা ডেটা ইঞ্জিনিয়ার এবং ডেটা সায়েন্টিস্টদের মতো ব্যক্তিদেরকে স্কেলে ফিচার ইঞ্জিনিয়ারিং করতে সক্ষম করে। AWS Glue ইন্টারেক্টিভ সেশনের সাহায্যে, আপনি কোনো অন্তর্নিহিত অবকাঠামো পরিচালনার প্রয়োজন ছাড়াই স্বয়ংক্রিয় PII সনাক্তকরণ এবং সূক্ষ্ম-দানাযুক্ত অ্যাক্সেস নিয়ন্ত্রণ সহ স্কেলে বৈশিষ্ট্য ইঞ্জিনিয়ারিং অর্জন করতে পারেন। স্টুডিওকে একক এন্ট্রি পয়েন্ট হিসাবে ব্যবহার করে, আপনি এন্ড-টু-এন্ড এমএল ওয়ার্কফ্লো তৈরি করার জন্য একটি সরলীকৃত এবং সমন্বিত অভিজ্ঞতা পেতে পারেন: ডেটা প্রস্তুত করা এবং সুরক্ষিত করা থেকে শুরু করে এমএল মডেল তৈরি, প্রশিক্ষণ, টিউনিং এবং স্থাপন করা। আরো জানতে, পরিদর্শন করুন AWS Glue ইন্টারেক্টিভ সেশন দিয়ে শুরু করা এবং অ্যামাজন সেজমেকার স্টুডিও.

আমরা এই নতুন ক্ষমতা সম্পর্কে খুব উত্তেজিত এবং আপনি এটি দিয়ে কী তৈরি করতে যাচ্ছেন তা দেখতে আগ্রহী!


পরিশিষ্ট: কনসোল এবং AWS CLI এর মাধ্যমে সংস্থানগুলি সেট আপ করুন৷

CloudFormation টেমপ্লেটের পরিবর্তে কনসোল এবং AWS CLI ব্যবহার করে সংস্থান সেট আপ করতে এই বিভাগে নির্দেশাবলী সম্পূর্ণ করুন।

পূর্বশর্ত

এই টিউটোরিয়ালটি সম্পূর্ণ করতে, আপনার অবশ্যই AWS CLI-তে অ্যাক্সেস থাকতে হবে (দেখুন AWS CLI দিয়ে শুরু করা) অথবা থেকে কমান্ড লাইন অ্যাক্সেস ব্যবহার করুন এডাব্লুএস ক্লাউডশেল.

IAM গ্রুপ, ব্যবহারকারী, ভূমিকা এবং নীতিগুলি কনফিগার করুন

এই বিভাগে, আমরা দুইজন IAM ব্যবহারকারী তৈরি করি: ডেটা-ইঞ্জিনিয়ার এবং ডেটা-সায়েন্টিস্ট, যা IAM গ্রুপ ডেটা-প্ল্যাটফর্ম-গ্রুপের অন্তর্গত। তারপরে আমরা আইএএম গ্রুপে একটি একক আইএএম নীতি যোগ করি।

  1. IAM কনসোলে, JSON ট্যাবে একটি নীতি তৈরি করুন নামে একটি নতুন IAM পরিচালিত নীতি তৈরি করতে DataPlatformGroupPolicy. নীতিটি গ্রুপের ব্যবহারকারীদের স্টুডিও অ্যাক্সেস করার অনুমতি দেয়, তবে শুধুমাত্র তাদের IAM ব্যবহারকারী নামের সাথে মেলে এমন একটি ট্যাগ সহ একটি SageMaker ব্যবহারকারী প্রোফাইল ব্যবহার করে। অনুমতি প্রদান করতে নিম্নলিখিত 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. একটি আইএএম ভূমিকা তৈরি করুন ডেটা ইঞ্জিনিয়ার (ডেটা-ইঞ্জিনিয়ার) এর জন্য সেজমেকারের জন্য, যা সংশ্লিষ্ট ব্যবহারকারী প্রোফাইলের সম্পাদন ভূমিকা হিসাবে ব্যবহৃত হয়। উপরে অনুমতি নীতি সংযুক্ত করুন পৃষ্ঠা, 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. একটি আইএএম ভূমিকা তৈরি করুন ডেটা সায়েন্টিস্ট (ডেটা-সায়েন্টিস্ট) এর জন্য SageMaker এর জন্য, যা সংশ্লিষ্ট ব্যবহারকারী প্রোফাইলের সম্পাদন ভূমিকা হিসাবে ব্যবহৃত হয়।
    1. জন্য নামভূমিকা, ভূমিকার নাম SageMakerStudioExecutionRole_data-scientist.
    2. জন্য ট্যাগ, কী ব্যবহারকারীর প্রোফাইল নাম এবং মান ডেটা-সায়েন্টিস্ট যোগ করুন।
    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 ব্যবহারকারী প্রোফাইল কনফিগার করুন

এর সাথে আপনার সেজমেকার ব্যবহারকারী প্রোফাইল তৈরি করতে studiouserid ট্যাগ, নিম্নলিখিত পদক্ষেপগুলি সম্পূর্ণ করুন:

  1. ডেটা ইঞ্জিনিয়ারের জন্য স্টুডিও ব্যবহারকারী প্রোফাইল তৈরি করতে AWS CLI বা CloudShell ব্যবহার করুন (নিম্নলিখিত কোডে আপনার অ্যাকাউন্ট আইডি এবং স্টুডিও ডোমেন আইডি প্রদান করুন):
    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. Amazon S3 কনসোলে, নির্বাচন করুন buckets নেভিগেশন ফলকে।
  3. বেছে নিন বালতি তৈরি করুন.
  4. জন্য এলাকা, SageMaker ডোমেনের সাথে অঞ্চলটি চয়ন করুন যাতে আপনার তৈরি করা ব্যবহারকারী প্রোফাইলগুলি অন্তর্ভুক্ত থাকে।
  5. জন্য বালতির নামপ্রবেশ করান blog-studio-pii-dataset-.
  6. বেছে নিন বালতি তৈরি করুন.
  7. আপনার তৈরি করা বালতি নির্বাচন করুন এবং নির্বাচন করুন আপলোড.
  8. মধ্যে ফাইল নির্বাচন করুন বিভাগ, চয়ন করুন ফাইল যোগ করুন এবং আপনার ডাউনলোড করা ডেটাসেট আপলোড করুন।
    এখন আপনি আউটপুট ডেটার জন্য বালতি তৈরি করুন:
  9. উপরে buckets পৃষ্ঠা, চয়ন করুন বালতি তৈরি করুন.
  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. জন্য Amazon 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 Glue ইন্টারেক্টিভ সেশন এবং Amazon SageMaker Studio PlatoBlockchain ডেটা ইন্টেলিজেন্স ব্যবহার করে সংবেদনশীল ডেটা সুরক্ষা সহ বড় মাপের বৈশিষ্ট্য ইঞ্জিনিয়ারিং। উল্লম্ব অনুসন্ধান. আ.

প্রবীন কুমার ক্লাউড-নেটিভ পরিষেবাগুলি ব্যবহার করে আধুনিক ডেটা এবং অ্যানালিটিক্স প্ল্যাটফর্মগুলি ডিজাইন, নির্মাণ এবং বাস্তবায়নে দক্ষতা সহ AWS-এর একজন অ্যানালিটিক্স সলিউশন আর্কিটেক্ট৷ তার আগ্রহের ক্ষেত্রগুলি হল সার্ভারহীন প্রযুক্তি, আধুনিক ক্লাউড ডেটা গুদাম, স্ট্রিমিং এবং এমএল অ্যাপ্লিকেশন।

AWS Glue ইন্টারেক্টিভ সেশন এবং Amazon SageMaker Studio PlatoBlockchain ডেটা ইন্টেলিজেন্স ব্যবহার করে সংবেদনশীল ডেটা সুরক্ষা সহ বড় মাপের বৈশিষ্ট্য ইঞ্জিনিয়ারিং। উল্লম্ব অনুসন্ধান. আ.

নরিতাকা সেকিয়ামা AWS Glue দলের একজন প্রধান বিগ ডেটা আর্কিটেক্ট। তিনি এই পোস্টের মত ফলাফল প্রদানের জন্য বিভিন্ন দলের সাথে সহযোগিতা উপভোগ করেন। তার অবসর সময়ে, তিনি তার পরিবারের সাথে ভিডিও গেম খেলতে উপভোগ করেন।

সময় স্ট্যাম্প:

থেকে আরো এডাব্লুএস মেশিন লার্নিং

অ্যামাজন স্বীকৃতি লাইভ ভিডিও স্ট্রিমগুলিতে রিয়েল-টাইম সতর্কতা প্রদানের জন্য স্ট্রিমিং ভিডিও ইভেন্টগুলি প্রবর্তন করে

উত্স নোড: 1284245
সময় স্ট্যাম্প: এপ্রিল 28, 2022

অ্যামাজনে অ্যাম্প কীভাবে গ্রাহকদের ব্যস্ততা বাড়াতে ডেটা ব্যবহার করে, পার্ট 1: ডেটা অ্যানালিটিক্স প্ল্যাটফর্ম তৈরি করা

উত্স নোড: 1660282
সময় স্ট্যাম্প: সেপ্টেম্বর 9, 2022