شعار زيفيرنت

استخدم Amazon SageMaker Data Wrangler في Amazon SageMaker Studio بتكوين دورة حياة افتراضية

التاريخ:

إذا كنت تستخدم تكوين دورة الحياة الافتراضية لمجالك أو ملف تعريف المستخدم في أمازون ساجميكر ستوديو واستخدامها أمازون سيج ميكر داتا رانجلر لإعداد البيانات ، فهذا المنشور يناسبك. في هذا المنشور ، نوضح كيف يمكنك إنشاء تدفق Data Wrangler واستخدامه لإعداد البيانات في بيئة Studio مع تكوين دورة حياة افتراضية.

البيانات رانجلر هي قدرة الأمازون SageMaker التي تجعل الأمر أسرع لعلماء ومهندسي البيانات لإعداد البيانات لتطبيقات التعلم الآلي (ML) عبر واجهة مرئية. يعد إعداد البيانات خطوة حاسمة في دورة حياة ML ، وتوفر Data Wrangler حلاً شاملاً لاستيراد واستكشاف وتحويل وتمييز ومعالجة البيانات لـ ML في تجربة مرئية منخفضة التعليمات البرمجية. يتيح لك الاتصال بسهولة وسرعة بمكونات AWS مثل خدمة تخزين أمازون البسيطة (Amazon S3) ، أمازون أثينا, الأمازون الأحمرو تكوين بحيرة AWS، ومصادر خارجية مثل Snowflake و DataBricks DeltaLake. يدعم Data Wrangler أنواع البيانات القياسية مثل CSV و JSON و ORC و Parquet.

تطبيقات الاستوديو هي تطبيقات تفاعلية تمكّن واجهة Studio المرئية وتأليف الكود وتجربة التشغيل. يمكن أن تكون أنواع التطبيقات إما خادم Jupyter أو بوابة Kernel:

  • خادم Jupyter - تمكن من الوصول إلى الواجهة المرئية للاستوديو. يحصل كل مستخدم في Studio على تطبيق Jupyter Server الخاص به.
  • بوابة Kernel - تمكن من الوصول إلى بيئة تشغيل التعليمات البرمجية ونواة لأجهزة الكمبيوتر المحمولة والمحطات الطرفية الخاصة بـ Studio. لمزيد من المعلومات، راجع بوابة Jupyter Kernel.

تكوينات دورة الحياة (LCCs) هي نصوص برمجية لأتمتة التخصيص لبيئات الاستوديو الخاصة بك ، مثل تثبيت امتدادات JupyterLab ، وتحميل مجموعات البيانات مسبقًا ، وإعداد مستودعات كود المصدر. يتم تشغيل البرامج النصية لـ LCC بواسطة أحداث دورة حياة Studio ، مثل بدء تشغيل دفتر ملاحظات Studio جديد. لتعيين تكوين دورة الحياة كإعداد افتراضي لمجالك أو ملف تعريف المستخدم برمجيًا ، يمكنك إنشاء مورد جديد أو تحديث مورد موجود. لإقران تكوين دورة حياة كافتراضي ، تحتاج أولاً إلى إنشاء تكوين دورة حياة باتباع الخطوات الواردة في إنشاء تكوين دورة حياة وإقرانها

ملاحظة: تكوينات دورة الحياة الافتراضية التي تم إعدادها على مستوى المجال موروثة من قبل جميع المستخدمين ، بينما تلك التي تم إعدادها على مستوى المستخدم يتم تحديد نطاقها لمستخدم معين. إذا قمت بتطبيق تكوينات دورة الحياة على مستوى المجال ومستوى ملف تعريف المستخدم في نفس الوقت ، فإن تكوين دورة الحياة على مستوى ملف تعريف المستخدم يكون له الأسبقية ويتم تطبيقه على التطبيق بغض النظر عن تكوين دورة الحياة المطبق على مستوى المجال. لمزيد من المعلومات، راجع تعيين تكوينات دورة الحياة الافتراضية.

يقبل Data Wrangler تكوين دورة حياة Kernel Gateway الافتراضي ، لكن بعض الأوامر المحددة في تكوين دورة حياة Kernel Gateway الافتراضية لا تنطبق على Data Wrangler ، مما قد يتسبب في فشل بدء Data Wrangler. تُظهر لقطة الشاشة التالية مثالاً على رسالة خطأ قد تتلقاها عند تشغيل تدفق البيانات رانجلر. قد يحدث هذا فقط مع تكوينات دورة الحياة الافتراضية وليس مع تكوينات دورة الحياة.

حل نظرة عامة

يمكن للعملاء الذين يستخدمون تكوين دورة الحياة الافتراضية في Studio متابعة هذا المنشور واستخدام كتلة التعليمات البرمجية المتوفرة في البرنامج النصي لتكوين دورة الحياة لتشغيل تطبيق Data Wrangler دون أي أخطاء.

قم بإعداد التكوين الافتراضي لدورة الحياة

لإعداد تكوين دورة حياة افتراضي ، يجب عليك إضافته إلى ملف DefaultResourceSpec من نوع التطبيق المناسب. يعتمد سلوك تكوين دورة الحياة على ما إذا كان قد تمت إضافته إلى ملف DefaultResourceSpec في تطبيق Jupyter Server أو Kernel Gateway:

  • تطبيقات خادم Jupyter - عند إضافته إلى ملف DefaultResourceSpec في تطبيق Jupyter Server ، يتم تشغيل البرنامج النصي الافتراضي لتكوين دورة الحياة تلقائيًا عندما يقوم المستخدم بتسجيل الدخول إلى Studio لأول مرة أو إعادة تشغيل Studio. يمكنك استخدام هذا لأتمتة إجراءات الإعداد لمرة واحدة لبيئة مطور Studio ، مثل تثبيت ملحقات الكمبيوتر المحمول أو إعداد GitHub repo. للحصول على مثال على ذلك ، انظر قم بتخصيص Amazon SageMaker Studio باستخدام تكوينات دورة الحياة.
  • تطبيقات بوابة Kernel - عند إضافته إلى ملف DefaultResourceSpec في تطبيق Kernel Gateway ، يقوم Studio افتراضيًا بتحديد البرنامج النصي لتكوين دورة الحياة من مشغل Studio. يمكنك تشغيل جهاز كمبيوتر محمول أو جهاز طرفي باستخدام البرنامج النصي الافتراضي أو اختيار برنامج مختلف من قائمة تكوينات دورة الحياة.

تكوين دورة حياة Kernel Gateway الافتراضي المحدد في DefaultResourceSpec ينطبق على جميع صور Kernel Gateway في مجال Studio إلا إذا اخترت نصًا مختلفًا من القائمة المعروضة في مشغل Studio.

عندما تعمل مع تكوينات دورة الحياة لـ Studio ، فإنك تنشئ تكوين دورة حياة وترفقه إما بمجال Studio أو ملف تعريف المستخدم. يمكنك بعد ذلك تشغيل خادم Jupyter أو تطبيق Kernel Gateway لاستخدام تكوين دورة الحياة.

يلخص الجدول التالي هذه الأخطاء التي قد تواجهها عند تشغيل تطبيق Data Wrangler بتكوينات دورة الحياة الافتراضية.

المستوى الذي يتم فيه تكوين دورة الحياة مطبق

إنشاء تدفق رانجلر البيانات يعمل (أو) خطأ

الحل
نطاق خطأ طلب غير صالح قم بتطبيق البرنامج النصي (انظر أدناه)
ملف تعريفي للمستخدم خطأ طلب غير صالح قم بتطبيق البرنامج النصي (انظر أدناه)
تطبيق يعمل — لا مشكلة غير مطلوب

عند استخدام تكوين دورة الحياة الافتراضية المرتبط بـ Studio و Data Wrangler (تطبيق Kernel Gateway) ، قد تواجه فشل تطبيق Kernel Gateway. في هذا المنشور ، نوضح كيفية تعيين تكوين دورة الحياة الافتراضية بشكل صحيح لاستبعاد أوامر التشغيل في تطبيق Data Wrangler حتى لا تواجه فشل تطبيق Kernel Gateway.

لنفترض أنك تريد تثبيت ملف git-clone-repo البرنامج النصي كتكوين افتراضي لدورة الحياة يقوم بفحص مستودع Git ضمن المجلد الرئيسي للمستخدم تلقائيًا عند بدء تشغيل خادم Jupyter. لنلقِ نظرة على كل سيناريو لتطبيق تكوين دورة حياة (مجال Studio أو ملف تعريف المستخدم أو مستوى التطبيق).

قم بتطبيق تكوين دورة الحياة على مجال Studio أو مستوى ملف تعريف المستخدم

لتطبيق تكوين دورة حياة Kernel Gateway الافتراضية على مجال Studio أو مستوى ملف تعريف المستخدم ، أكمل الخطوات الواردة في هذا القسم. نبدأ بالتعليمات الخاصة بمستوى ملف تعريف المستخدم.

في البرنامج النصي لتكوين دورة الحياة ، يجب عليك تضمين مقطع التعليمات البرمجية التالي الذي يتحقق من تطبيق Data Wrangler Kernel Gateway ويتخطاه:

#!/bin/bash
set -eux
STATUS=$(
python3 -c "import sagemaker_dataprep"
echo $?
)
if [ "$STATUS" -eq 0 ]; then
echo 'Instance is of Type Data Wrangler'
else
echo 'Instance is not of Type Data Wrangler'
<remainder of LCC here within in else block – this contains some pip install, etc>
fi

على سبيل المثال ، دعنا نستخدم الامتداد النص التالي كأصل لدينا (لاحظ أنه تم تغيير المجلد المراد استنساخ الريبو إليه /root from /home/sagemaker-user):

# Clones a git repository into the user's home folder
#!/bin/bash

set -eux

# Replace this with the URL of your git repository
export REPOSITORY_URL="https://github.com/aws-samples/sagemaker-studio-lifecycle-config-examples.git"

git -C /root clone $REPOSITORY_URL

يبدو النص الجديد المعدل كما يلي:

#!/bin/bash
set -eux
STATUS=$(
python3 -c "import sagemaker_dataprep"
echo $?
)
if [ "$STATUS" -eq 0 ]; then
echo 'Instance is of Type Data Wrangler'
else
echo 'Instance is not of Type Data Wrangler'

# Replace this with the URL of your git repository
export REPOSITORY_URL="https://github.com/aws-samples/sagemaker-studio-lifecycle-config-examples.git"

git -C /root clone $REPOSITORY_URL

fi

يمكنك حفظ هذا البرنامج النصي باسم git_command_test.sh.

يمكنك الآن تشغيل سلسلة من الأوامر في الجهاز الطرفي أو موجه الأوامر. يجب عليك تكوين واجهة سطر الأوامر AWS (AWS CLI) للتفاعل مع AWS. إذا لم تكن قد قمت بإعداد AWS CLI ، فارجع إلى تكوين AWS CLI.

  1. تحويل الخاص بك git_command_test.sh ملف بتنسيق Base64. يمنع هذا المطلب الأخطاء بسبب ترميز التباعد وفواصل الأسطر.
    LCC_GIT=openssl base64 -A -in /Users/abcde/Downloads/git_command_test.sh

  2. قم بإنشاء تكوين دورة حياة الاستوديو. ينشئ الأمر التالي تكوين دورة حياة يتم تشغيله عند تشغيل تطبيق Kernel Gateway المرتبط:
    aws sagemaker create-studio-lifecycle-config —region us-east-2 —studio-lifecycle-config-name lcc-git —studio-lifecycle-config-content $LCC_GIT —studio-lifecycle-config-app-type KernelGateway

  3. استخدم استدعاء API التالي لإنشاء ملف تعريف مستخدم جديد بتكوين دورة حياة مقترنة:
    aws sagemaker create-user-profile --domain-id d-vqc14vvvvvvv 
    --user-profile-name test 
    --region us-east-2 
    --user-settings '{
    "KernelGatewayAppSettings": {
    "LifecycleConfigArns" : ["arn:aws:sagemaker:us-east-2:000000000000:studio-lifecycle-config/lcc-git"],
    "DefaultResourceSpec": {
    "InstanceType": "ml.m5.xlarge",
    "LifecycleConfigArn": "arn:aws:sagemaker:us-east-2:00000000000:studio-lifecycle-config/lcc-git"
    }
    }
    }'

    بدلاً من ذلك ، إذا كنت ترغب في إنشاء مجال Studio لربط تكوين دورة الحياة على مستوى المجال ، أو تحديث ملف تعريف المستخدم أو المجال ، يمكنك اتباع الخطوات الواردة في تعيين تكوينات دورة الحياة الافتراضية.

  4. يمكنك الآن تشغيل تطبيق الاستوديو الخاص بك من لوحة تحكم SageMaker.لوحة التحكم
  5. في بيئة الاستوديو الخاصة بك ، على قم بتقديم القائمة، اختر جديد و تدفق رانجلر البياناتيجب فتح تدفق بيانات رانجلر الجديد دون أي مشاكل.
    تدفق بيانات رانجلر الجديد
  6. للتحقق من صحة استنساخ Git ، يمكنك فتح Launcher جديد في Studio.
  7. تحت دفاتر الملاحظات وحساب الموارد، اختر دفتر Python 3 و العلوم البيانات صورة SageMaker لبدء البرنامج النصي كبرنامج نصي افتراضي لتكوين دورة الحياة.
    مفكرة وحساب

يمكنك رؤية Git مستنسخة إلى /root في لقطة الشاشة التالية.

استنساخ Git إلى / root

لقد نجحنا في تطبيق تكوين دورة حياة Kernel الافتراضي على مستوى ملف تعريف المستخدم وإنشاء تدفق بيانات Wrangler. للتكوين على مستوى مجال Studio ، يكون التغيير الوحيد هو بدلاً من إنشاء ملف تعريف مستخدم ، تقوم بتمرير ARN لتكوين دورة الحياة في إنشاء المجال مكالمة.

تطبيق تكوين دورة الحياة على مستوى التطبيق

إذا قمت بتطبيق التكوين الافتراضي لدورة حياة Kernel Gateway على مستوى التطبيق ، فلن تواجه أية مشكلات لأن Data Wrangler يتخطى تكوين دورة الحياة المطبق على مستوى التطبيق.

وفي الختام

في هذا المنشور ، أوضحنا كيفية تكوين تكوين دورة الحياة الافتراضية بشكل صحيح لبرنامج Studio عند استخدام Data Wrangler لإعداد البيانات ومتطلبات التصور.

للتلخيص ، إذا كنت بحاجة إلى استخدام الافتراضي تكوين دورة حياة الاستوديو لأتمتة التخصيص لبيئات الاستوديو الخاصة بك واستخدام Data Wrangler لإعداد البيانات ، يمكنك تطبيق تكوين دورة حياة Kernel Gateway الافتراضي على ملف تعريف المستخدم أو مستوى مجال Studio مع كتلة التعليمات البرمجية المناسبة المضمنة في تكوين دورة الحياة الخاصة بك بحيث يتحقق تكوين دورة الحياة الافتراضي من ذلك ويتخطى تطبيق Data Wrangler Kernel Gateway.

لمزيد من المعلومات ، راجع الموارد التالية:


حول المؤلف

راجاكومار سامباثكومار هو مدير الحساب الفني الرئيسي في AWS ، حيث يوفر إرشادات للعملاء حول محاذاة تكنولوجيا الأعمال ويدعم إعادة ابتكار نماذج وعمليات التشغيل السحابية الخاصة بهم. إنه شغوف بالسحابة والتعلم الآلي. راج أيضًا متخصص في التعلم الآلي ويعمل مع عملاء AWS لتصميم ونشر وإدارة أعباء العمل والبنى الخاصة بهم في AWS.

فيكي تشانغ هو مهندس تطوير برمجيات في Amazon SageMaker. هي متحمسة لحل المشكلات. تستمتع في أوقات فراغها بمشاهدة الأفلام البوليسية ولعب كرة الريشة.

راهول نبيرا هو مستشار تحليلات البيانات في خدمات AWS الاحترافية. يركز عمله الحالي على تمكين العملاء من بناء بياناتهم وأعباء عمل التعلم الآلي على AWS. في أوقات فراغه ، يستمتع بلعب الكريكيت والكرة الطائرة.

بقعة_صورة

أحدث المعلومات الاستخباراتية

بقعة_صورة

الدردشة معنا

أهلاً! كيف يمكنني مساعدك؟