سرور لیس AWS Glue انٹرایکٹو سیشنز PlatoBlockchain Data Intelligence کا استعمال کرتے ہوئے Amazon SageMaker اسٹوڈیو میں پیمانے پر ڈیٹا تیار کریں۔ عمودی تلاش۔ عی

سرور لیس اے ڈبلیو ایس گلو انٹرایکٹو سیشنز کا استعمال کرتے ہوئے ایمیزون سیج میکر اسٹوڈیو میں پیمانے پر ڈیٹا تیار کریں۔

ایمیزون سیج میکر اسٹوڈیو مشین لرننگ (ML) کے لیے پہلا مکمل طور پر مربوط ترقیاتی ماحول (IDE) ہے۔ یہ ایک واحد، ویب پر مبنی بصری انٹرفیس فراہم کرتا ہے جہاں آپ تمام ایم ایل ڈیولپمنٹ کے اقدامات انجام دے سکتے ہیں، بشمول ڈیٹا کی تیاری اور ماڈلز کی تعمیر، تربیت، اور تعیناتی۔

AWS گلو ایک سرور لیس ڈیٹا انٹیگریشن سروس ہے جو تجزیات، ایم ایل، اور ایپلیکیشن ڈویلپمنٹ کے لیے ڈیٹا کو دریافت کرنا، تیار کرنا اور یکجا کرنا آسان بناتی ہے۔ AWS Glue آپ کو مختلف قسم کی صلاحیتوں کا استعمال کرتے ہوئے بغیر کسی رکاوٹ کے ڈیٹا کو جمع کرنے، تبدیل کرنے، صاف کرنے اور اپنی ڈیٹا لیکس اور ڈیٹا پائپ لائنوں میں ذخیرہ کرنے کے لیے تیار کرنے کے قابل بناتا ہے۔ بلٹ میں تبدیلیاں.

ڈیٹا انجینئرز اور ڈیٹا سائنسدان اب اپنی اسٹوڈیو نوٹ بک کے بلٹ ان انٹیگریشن کا استعمال کرتے ہوئے ڈیٹا کو انٹرایکٹو طریقے سے تیار کر سکتے ہیں جو AWS Glue کے زیر انتظام سرور لیس اسپارک سیشنز کے ساتھ ہے۔ سیکنڈوں میں شروع ہو رہا ہے اور بیکار ہونے پر کمپیوٹ کو خود بخود روکنا، AWS گلو انٹرایکٹو سیشن اسٹوڈیو کے اندر توسیع پذیر ڈیٹا کی تیاری کو حاصل کرنے کے لیے ایک آن ڈیمانڈ، انتہائی قابل توسیع، سرور لیس اسپارک بیک اینڈ فراہم کریں۔ سٹوڈیو نوٹ بک پر AWS Glue انٹرایکٹو سیشن استعمال کرنے کے قابل ذکر فوائد میں شامل ہیں:

  • فراہمی یا انتظام کرنے کے لیے کوئی کلسٹر نہیں۔
  • ادائیگی کے لیے کوئی بیکار کلسٹرز نہیں ہیں۔
  • سامنے کی ترتیب کی ضرورت نہیں ہے۔
  • یکساں ترقیاتی ماحول کے لیے وسائل کا کوئی تنازعہ نہیں۔
  • بالکل وہی سرور لیس اسپارک رن ٹائم اور پلیٹ فارم جیسا کہ AWS Glue ایکسٹریکٹ، ٹرانسفارم اور لوڈ (ETL) جابز

اس پوسٹ میں، ہم آپ کو دکھاتے ہیں کہ سرور لیس AWS Glue انٹرایکٹو سیشنز کا استعمال کرتے ہوئے اسٹوڈیو میں پیمانے پر ڈیٹا کیسے تیار کیا جائے۔

حل جائزہ

اس حل کو نافذ کرنے کے لیے، آپ درج ذیل اعلیٰ سطحی مراحل کو مکمل کرتے ہیں:

  1. اپ ڈیٹ کریں AWS شناخت اور رسائی کا انتظام (IAM) کردار کی اجازت۔
  2. AWS Glue انٹرایکٹو سیشن کرنل لانچ کریں۔
  3. اپنے انٹرایکٹو سیشن کو ترتیب دیں۔
  4. اپنے انٹرایکٹو سیشن کو حسب ضرورت بنائیں اور قابل توسیع ڈیٹا کی تیاری کے کام کا بوجھ چلائیں۔

اپنی IAM کردار کی اجازتوں کو اپ ڈیٹ کریں۔

شروع کرنے کے لیے، آپ کو مطلوبہ اجازتوں کے ساتھ اپنے اسٹوڈیو صارف کے IAM ایگزیکیوشن رول کو اپ ڈیٹ کرنا ہوگا۔ تفصیلی ہدایات کے لیے رجوع کریں۔ سیج میکر اسٹوڈیو میں گلو انٹرایکٹو سیشنز کی اجازت.

آپ سب سے پہلے اپنے ایگزیکیوشن رول میں منظم پالیسیاں شامل کریں:

  1. IAM کنسول پر، منتخب کریں۔ رولز نیوی گیشن پین میں.
  2. اسٹوڈیو پر عمل درآمد کا وہ کردار تلاش کریں جسے آپ استعمال کریں گے، اور رول کے خلاصے کے صفحہ پر جانے کے لیے کردار کا نام منتخب کریں۔
  3. پر اجازت ٹیب، پر اجازتیں شامل کریں۔ مینو، منتخب کریں پالیسیاں منسلک کریں۔.
  4. منظم پالیسیاں منتخب کریں۔ AmazonSageMakerFullAccess اور AwsGlueSessionUserRestrictedServiceRole
  5. میں سے انتخاب کریں پالیسیاں منسلک کریں۔.
    خلاصہ صفحہ آپ کی نئی شامل کردہ منظم پالیسیوں کو دکھاتا ہے۔ اب آپ ایک حسب ضرورت پالیسی شامل کرتے ہیں اور اسے اپنے ایگزیکیوشن رول سے منسلک کرتے ہیں۔
  6. پر اجازتیں شامل کریں۔ مینو، منتخب کریں ان لائن پالیسی بنائیں.
  7. پر JSON ٹیب، درج ذیل پالیسی درج کریں:
    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Sid": "VisualEditor0",
                "Effect": "Allow",
                "Action": [
                    "iam:GetRole",
                    "iam:PassRole",
                    "sts:GetCallerIdentity"
                ],
                "Resource": "*"
            }
        ]
    }

  8. اپنے کردار کے اعتماد کے رشتے میں ترمیم کریں:
    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Effect": "Allow",
                "Principal": {
                    "Service": [
                        "glue.amazonaws.com",
                        "sagemaker.amazonaws.com"
                    ]
                },
                "Action": "sts:AssumeRole"
            }
        ]
    }

AWS Glue انٹرایکٹو سیشن کرنل لانچ کریں۔

اگر آپ کے اسٹوڈیو ڈومین میں پہلے سے موجود صارفین موجود ہیں تو آپ کو ان کی ضرورت پڑ سکتی ہے۔ اپنے Jupyter سرور کو بند کریں اور دوبارہ شروع کریں۔ نئی نوٹ بک کرنل کی تصاویر لینے کے لیے۔

دوبارہ لوڈ کرنے پر، آپ ایک نئی اسٹوڈیو نوٹ بک بنا سکتے ہیں اور اپنی پسند کا دانا منتخب کریں۔. بلٹ میں SparkAnalytics 1.0 تصویر اب دستیاب ہونی چاہیے، اور آپ اپنا پسندیدہ AWS Glue kernel منتخب کر سکتے ہیں (گلو سکالا اسپارک or گلو پی اسپارک).

اپنے انٹرایکٹو سیشن کو ترتیب دیں۔

آپ آسانی سے اپنے AWS Glue انٹرایکٹو سیشن کو نوٹ بک سیل میجکس کے ساتھ شروع کرنے سے پہلے ترتیب دے سکتے ہیں۔ جادو چھوٹے کمانڈز ہیں جو Jupyter سیلز کے شروع میں % کے ساتھ لگتے ہیں جو ماحول کو کنٹرول کرنے کے لیے شارٹ کٹ فراہم کرتے ہیں۔ AWS Glue انٹرایکٹو سیشنز میں، جادو کو تمام ترتیب کی ضروریات کے لیے استعمال کیا جاتا ہے، بشمول:

  • %علاقہ - AWS علاقہ جس میں سیشن شروع کرنا ہے۔ پہلے سے طے شدہ اسٹوڈیو کا علاقہ ہے۔
  • iam_role % - آپ کے سیشن کو چلانے کے لیے IAM رول ARN۔ پہلے سے طے شدہ صارف کا SageMaker عمل درآمد کا کردار ہے۔
  • %worker_type - دی AWS گلو ورکر کی قسم. پہلے سے طے شدہ معیاری ہے۔
  • کارکنوں کی % تعداد - ورکرز کی تعداد جو کسی کام کے چلنے پر مختص کی جاتی ہے۔ پہلے سے طے شدہ پانچ ہے۔
  • %idle_timeout - غیرفعالیت کے منٹوں کی تعداد جس کے بعد سیشن کا وقت ختم ہو جائے گا۔ ڈیفالٹ 2,880 منٹ ہے۔
  • اضافی_python_modules % - آپ کے کلسٹر میں شامل کرنے کے لیے اضافی Python ماڈیولز کی کوما سے الگ کردہ فہرست۔ یہ PyPi سے ہو سکتا ہے یا ایمیزون سادہ اسٹوریج سروس (ایمیزون S3)۔
  • %% ترتیب دیں۔ - ایک JSON فارمیٹ شدہ لغت پر مشتمل ہے۔ AWS گلو مخصوص کنفیگریشن پیرامیٹرز ایک سیشن کے لئے.

اس دانا کے لیے قابل ترتیب جادو پیرامیٹرز کی ایک جامع فہرست کے لیے، استعمال کریں۔ %help آپ کی نوٹ بک میں جادو۔

آپ کا AWS Glue انٹرایکٹو سیشن اس وقت تک شروع نہیں ہوگا جب تک کہ پہلا غیر جادوئی سیل نہیں چل جاتا۔

اپنے انٹرایکٹو سیشن کو حسب ضرورت بنائیں اور ڈیٹا کی تیاری کے کام کا بوجھ چلائیں۔

مثال کے طور پر، مندرجہ ذیل نوٹ بک سیلز دکھاتے ہیں کہ آپ اپنے AWS Glue انٹرایکٹو سیشن کو کس طرح اپنی مرضی کے مطابق بنا سکتے ہیں اور ڈیٹا کی تیاری کے قابل توسیعی کام کا بوجھ چلا سکتے ہیں۔ اس مثال میں، ہم دن کے گھنٹے کے حساب سے گروپ بندی کرتے ہوئے، کسی شہر کے لیے ہوا کے معیار کے ڈیٹا کو جمع کرنے کے لیے ایک ETL کام انجام دیتے ہیں۔

ہم ریئل ٹائم ڈیبگنگ کے لیے اپنے اسپارک لاگز کو S3 بالٹی میں محفوظ کرنے کے لیے اپنے سیشن کو ترتیب دیتے ہیں، جسے ہم بعد میں اس پوسٹ میں دیکھتے ہیں۔ اس بات کو یقینی بنائیں کہ iam_role جو آپ کے AWS Glue سیشن کو چلا رہا ہے اسے مخصوص S3 بالٹی تک تحریری رسائی حاصل ہے۔

%help

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

اگلا، ہم اپنا ڈیٹا سیٹ براہ راست Amazon S3 سے لوڈ کرتے ہیں۔ متبادل طور پر، آپ کر سکتے ہیں۔ اپنے AWS Glue Data Catalog کا استعمال کرتے ہوئے ڈیٹا لوڈ کریں۔.

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

آخر میں، ہم اپنے تبدیل شدہ ڈیٹاسیٹ کو آؤٹ پٹ بالٹی کے مقام پر لکھتے ہیں جس کی ہم نے وضاحت کی ہے:

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

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

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

اپنا کام مکمل کرنے کے بعد، آپ اسٹوڈیو نوٹ بک کرنل کو بند کر کے فوری طور پر اپنا AWS Glue انٹرایکٹو سیشن ختم کر سکتے ہیں، یا آپ استعمال کر سکتے ہیں۔ %stop_session جادو.

ڈیبگنگ اور اسپارک UI

پچھلی مثال میں، ہم نے وضاحت کی۔ ”--enable-spark-ui”: “true” a کے ساتھ دلیل "--spark-event-logs-path": location. یہ سیشن لاگز کو ریکارڈ کرنے کے لیے ہمارے AWS Glue سیشن کو ترتیب دیتا ہے تاکہ ہم حقیقی وقت میں اپنے AWS Glue جاب کی نگرانی اور ڈیبگ کرنے کے لیے Spark UI کا استعمال کر سکیں۔

ان سپارک لاگز کو شروع کرنے اور پڑھنے کے عمل کے لیے، رجوع کریں۔ اسپارک ہسٹری سرور کو لانچ کرنا. مندرجہ ذیل اسکرین شاٹ میں، ہم نے ایک مقامی ڈوکر کنٹینر لانچ کیا ہے جس میں ہمارے لاگز پر مشتمل S3 بالٹی کو پڑھنے کی اجازت ہے۔ اختیاری طور پر، آپ ایک کی میزبانی کر سکتے ہیں۔ ایمیزون لچکدار کمپیوٹ کلاؤڈ (ایمیزون EC2) مثال کے طور پر ایسا کرنے کے لئے، جیسا کہ پچھلے منسلک دستاویزات میں بیان کیا گیا ہے۔

سرور لیس AWS Glue انٹرایکٹو سیشنز PlatoBlockchain Data Intelligence کا استعمال کرتے ہوئے Amazon SageMaker اسٹوڈیو میں پیمانے پر ڈیٹا تیار کریں۔ عمودی تلاش۔ عی

قیمتوں کا تعین

جب آپ اسٹوڈیو نوٹ بک پر AWS Glue انٹرایکٹو سیشن استعمال کرتے ہیں، تو آپ سے AWS Glue اور اسٹوڈیو نوٹ بک پر وسائل کے استعمال کے لیے الگ سے چارج کیا جاتا ہے۔

AWS Glue انٹرایکٹو سیشنز کے لیے AWS چارجز اس بنیاد پر لیتا ہے کہ سیشن کتنی دیر تک فعال ہے اور ڈیٹا پروسیسنگ یونٹس (DPUs) کی تعداد استعمال کی جاتی ہے۔ آپ سے آپ کے کام کے بوجھ کو چلانے کے لیے استعمال ہونے والے DPUs کی تعداد کے لیے فی گھنٹہ کی شرح وصول کی جاتی ہے، جس کا بل 1 سیکنڈ کے اضافے میں کیا جاتا ہے۔ AWS Glue انٹرایکٹو سیشنز 5 DPUs کا ڈیفالٹ تفویض کرتے ہیں اور کم از کم 2 DPUs کی ضرورت ہوتی ہے۔ ہر انٹرایکٹو سیشن کے لیے 1 منٹ کا کم از کم بلنگ کا دورانیہ بھی ہے۔ AWS Glue کے نرخوں اور قیمتوں کے تعین کی مثالیں دیکھنے کے لیے، یا AWS پرائسنگ کیلکولیٹر کا استعمال کرتے ہوئے اپنے اخراجات کا اندازہ لگانے کے لیے، دیکھیں AWS گلو کی قیمتوں کا تعین.

آپ کی اسٹوڈیو نوٹ بک EC2 مثال پر چلتی ہے اور آپ سے استعمال کی مدت کی بنیاد پر، آپ کے منتخب کردہ مثال کی قسم کے لیے چارج کیا جاتا ہے۔ اسٹوڈیو آپ کو ڈیفالٹ EC2 مثال کی قسم ml-t3-میڈیم تفویض کرتا ہے جب آپ SparkAnalytics تصویر اور متعلقہ دانا۔ آپ اپنے کام کے بوجھ کے مطابق اپنی اسٹوڈیو نوٹ بک کی مثال کی قسم کو تبدیل کر سکتے ہیں۔ سیج میکر اسٹوڈیو کی قیمتوں کے بارے میں معلومات کے لیے، دیکھیں ایمیزون سیج میکر قیمتوں کا تعین.

نتیجہ

AWS Glue کے انٹرایکٹو سیشنز کے ساتھ اسٹوڈیو نوٹ بک کا مقامی انضمام ڈیٹا سائنسدانوں اور ڈیٹا انجینئرز کے لیے بغیر کسی رکاوٹ اور توسیع پذیر سرور لیس ڈیٹا کی تیاری میں سہولت فراہم کرتا ہے۔ ہم آپ کو اسٹوڈیو میں اس نئی فعالیت کو آزمانے کی ترغیب دیتے ہیں!

ملاحظہ کریں AWS گلو انٹرایکٹو سیشنز کا استعمال کرتے ہوئے ڈیٹا تیار کریں۔ مزید معلومات کے لیے.


مصنفین کے بارے میں

شان مورگنشان مورگن AWS میں ایک سینئر ML Solutions آرکیٹیکٹ ہیں۔ اس کے پاس سیمی کنڈکٹر اور تعلیمی تحقیقی شعبوں میں تجربہ ہے، اور وہ اپنے تجربے کا استعمال صارفین کو AWS پر اپنے مقاصد تک پہنچنے میں مدد کرنے کے لیے کرتا ہے۔ اپنے فارغ وقت میں شان ایک فعال اوپن سورس کنٹریبیوٹر/مینٹینر ہے اور TensorFlow Addons کے لیے خصوصی دلچسپی والے گروپ کی قیادت ہے۔

سرور لیس AWS Glue انٹرایکٹو سیشنز PlatoBlockchain Data Intelligence کا استعمال کرتے ہوئے Amazon SageMaker اسٹوڈیو میں پیمانے پر ڈیٹا تیار کریں۔ عمودی تلاش۔ عیسومیدھا سوامی ایمیزون ویب سروسز میں پرنسپل پروڈکٹ مینیجر ہے۔ وہ سیج میکر اسٹوڈیو ٹیم کی رہنمائی کرتا ہے تاکہ اسے انٹرایکٹو ڈیٹا سائنس اور ڈیٹا انجینئرنگ ورک فلو کے لیے پسند کے IDE میں بنایا جائے۔ اس نے پچھلے 15 سال مشین لرننگ کا استعمال کرتے ہوئے صارفین کے جنون میں مبتلا صارفین اور انٹرپرائز مصنوعات بنانے میں گزارے ہیں۔ اپنے فارغ وقت میں وہ امریکی جنوب مغرب کی حیرت انگیز ارضیات کی تصویر کشی کرنا پسند کرتا ہے۔

ٹائم اسٹیمپ:

سے زیادہ AWS مشین لرننگ