ربط Azure Synapse Analytics ومساحات عمل Azure التعلم الآلي وإرفاق تجمعات Apache Spark (مهملة)

ينطبق على: Python SDK azureml v1

تحذير

تم إهمال تكامل Azure Synapse Analytics مع Azure التعلم الآلي، المتوفر في Python SDK v1. لا يزال بإمكان المستخدمين استخدام مساحة عمل Synapse، المسجلة مع Azure التعلم الآلي، كخدمة مرتبطة. ومع ذلك، لم يعد من الممكن تسجيل مساحة عمل Synapse جديدة مع Azure التعلم الآلي كخدمة مرتبطة. نوصي باستخدام حساب Spark بلا خادم وتجمعات Synapse Spark المرفقة، المتوفرة في CLI v2 وPython SDK v2. لمزيد من المعلومات، تفضل بزيارة https://aka.ms/aml-spark.

تتعلم في هذه المقالة كيفية إنشاء خدمة مرتبطة تربط مساحة عمل Azure Synapse Analytics ومساحة عمل التعلم الآلي من Microsoft Azure.

باستخدام مساحة عمل Azure التعلم الآلي، المرتبطة بمساحة عمل Azure Synapse، يمكنك إرفاق تجمع Apache Spark، مدعوم من Azure Synapse Analytics، كمورد حساب مخصص. يمكنك استخدام هذا المورد لتشابك البيانات على نطاق واسع، أو يمكنك إجراء تدريب النموذج - كل ذلك من دفتر ملاحظات Python نفسه.

يمكنك ربط مساحة عمل التعلم الآلي ومساحة عمل Synapse ب Python SDK أو استوديو التعلم الآلي Azure. يمكنك أيضا ربط مساحات العمل، وإرفاق تجمع Synapse Spark، بقالب Azure Resource Manager (ARM) واحد.

المتطلبات الأساسية

هام

للارتباط بنجاح بمساحة عمل Synapse، يجب أن يتم منحك دور المالك لمساحة عمل Synapse. تفقد وصولك في مدخل Microsoft Azure.

إذا كنت مساهما فقط في مساحة عمل Synapse، ولم يكن لديك مالك لمساحة عمل Synapse هذه، يمكنك فقط استخدام الخدمات المرتبطة الموجودة. لمزيد من المعلومات، تفضل بزيارة استرداد خدمة مرتبطة موجودة واستخدامها.

تستخدم هذه التعليمة البرمجية فئتي LinkedService و SynapseWorkspaceLinkedServiceConfiguration ، إلى

  • ربط مساحة ws عمل التعلم الآلي بمساحة عمل Azure Synapse
  • تسجيل مساحة عمل Synapse باستخدام Azure التعلم الآلي كخدمة مرتبطة
import datetime  
from azureml.core import Workspace, LinkedService, SynapseWorkspaceLinkedServiceConfiguration

# Azure Machine Learning workspace
ws = Workspace.from_config()

#link configuration 
synapse_link_config = SynapseWorkspaceLinkedServiceConfiguration(
    subscription_id=ws.subscription_id,
    resource_group= 'your resource group',
    name='mySynapseWorkspaceName')

# Link workspaces and register Synapse workspace in Azure Machine Learning
linked_service = LinkedService.register(workspace = ws,              
                                            name = 'synapselink1',    
                                            linked_service_config = synapse_link_config)

هام

يتم إنشاء الهوية system_assigned_identity_principal_id المدارة لكل خدمة مرتبطة. يجب منح هذه الهوية المدارة دور مسؤول Synapse Apache Spark لمساحة عمل Synapse قبل بدء جلسة Synapse. لمزيد من المعلومات، تفضل بزيارة كيفية إدارة تعيينات Azure Synapse RBAC في Synapse Studio.

للعثور على system_assigned_identity_principal_id لخدمة مرتبطة محددة، استخدم LinkedService.get('<your-mlworkspace-name>', '<linked-service-name>').

إدارة الخدمات المرتبطة

عرض جميع الخدمات المرتبطة بمساحة عمل التعلم الآلي:

LinkedService.list(ws)

لإلغاء ربط مساحات العمل، استخدم unregister() الأسلوب :

linked_service.unregister()

ربط مساحة عمل التعلم الآلي ومساحة عمل Synapse عبر Azure التعلم الآلي studio:

  1. تسجيل الدخول إلى استوديو التعلم الآلي من Azure

  2. حدد Linked Services في قسم Manage في الجزء الأيمن

  3. حدد إضافة تكامل

  4. في نموذج Link workspace، قم بملء الحقول

    الحقل ‏‏الوصف
    الاسم قدم إسما للخدمة المرتبطة. تستخدم المراجع إلى هذه الخدمة المرتبطة المحددة هذا الاسم
    اسم الاشتراك حدد اسم اشتراكك المقترن بمساحة عمل التعلم الآلي
    مساحة عمل Synapse حدد مساحة عمل Synapse التي تريد الارتباط بها
  5. حدد Next لفتح نموذج Select Spark pools (optional). في هذا النموذج، يمكنك تحديد أي تجمع Synapse Spark تريد إرفاقه إلى مساحة العمل

  6. حدد التالي لفتح نموذج المراجعة، وتحقق من التحديدات

  7. حدد Create لإكمال عملية إنشاء الخدمة المرتبطة

الحصول على خدمة مرتبطة متواجدة

قبل أن تتمكن من إرفاق حساب مخصص لتشابك البيانات، يجب أن يكون لديك مساحة عمل للتعلم الآلي مرتبطة بمساحة عمل Azure Synapse Analytics. نشير إلى مساحة العمل هذه كخدمة مرتبطة. يتطلب استرداد واستخدام خدمة مرتبطة موجودة أذونات المستخدم أو المساهم إلى مساحة عمل Azure Synapse Analytics.

يسترد هذا المثال خدمة مرتبطة موجودة - synapselink1 من مساحة wsالعمل ، باستخدام get() الأسلوب :

from azureml.core import LinkedService

linked_service = LinkedService.get(ws, 'synapselink1')

إرفاق تجمع Synapse Spark كحساب

بمجرد استردادك للخدمة المرتبطة، ارفق تجمع Synapse Apache Spark كمورد حساب مخصص لمهام تشابك البيانات. يمكنك إرفاق تجمعات Apache Spark مع

قم بإرفاق تجمع عبر الاستوديو

  1. تسجيل الدخول إلى استوديو التعلم الآلي من Azure
  2. حدد Linked Services في قسم Manage في الجزء الأيمن
  3. تحديد مساحة عمل Synapse
  4. حدد تجمعات Spark المرفقة في أعلى اليسار
  5. تحديد Attach
  6. حدد تجمع Apache Spark من القائمة وقدم اسما
    1. تحدد هذه القائمة تجمعات Synapse Spark المتوفرة التي يمكن إرفاقها بحسابك
    2. لإنشاء تجمع Synapse Spark جديد، راجع التشغيل السريع: إنشاء تجمع Apache Spark بلا خادم جديد باستخدام مدخل Microsoft Azure
  7. حدد إرفاق محدد

إرفاق تجمع باستخدام Python SDK

يمكنك أيضا استخدام Python SDK لإرفاق تجمع Apache Spark، كما هو موضح في مثال التعليمات البرمجية هذا:

from azureml.core.compute import SynapseCompute, ComputeTarget

attach_config = SynapseCompute.attach_configuration(linked_service, #Linked synapse workspace alias
                                                    type='SynapseSpark', #Type of assets to attach
                                                    pool_name=synapse_spark_pool_name) #Name of Synapse spark pool 

synapse_compute = ComputeTarget.attach(workspace= ws,                
                                       name= synapse_compute_name, 
                                       attach_configuration= attach_config
                                      )

synapse_compute.wait_for_completion()

تأكد من إرفاق تجمع Apache Spark.

ws.compute_targets['Synapse Spark pool alias']

هذه التعليمة البرمجية

  1. SynapseCompute تكوين باستخدام

    1. LinkedService، linked_service الذي قمت بإنشائه أو استرداده في الخطوة السابقة
    2. نوع هدف الحساب الذي تريد إرفاقه - في هذه الحالة، SynapseSpark
    3. الاسم الخاص بتجمع Apache Spark. يجب أن يتطابق الاسم مع تجمع Apache Spark موجود في مساحة عمل Azure Synapse Analytics
  2. إنشاء التعلم ComputeTarget الآلي عن طريق تمرير

    1. مساحة عمل التعلّم الآلي التي تود استخدامها، ws
    2. الاسم الذي تريد استخدامه للإشارة إلى الحساب داخل مساحة عمل Azure التعلم الآلي
    3. attach_configuration التي حددتها عند تكوين Synapse Compute
      1. الاستدعاء إلى ComputeTarget.attach() غير متزامن، لذلك يتم حظر تنفيذ العينة حتى يكتمل الاستدعاء

الخطوات التالية